Binding Migration Controllers
with this, we are DONE with synthetic. I am free..... after one last commit
This commit is contained in:
parent
46287f88a1
commit
419e4832ea
@ -15,7 +15,6 @@ import eu.kanade.tachiyomi.ui.migration.manga.design.PreMigrationController
|
|||||||
import eu.kanade.tachiyomi.util.system.await
|
import eu.kanade.tachiyomi.util.system.await
|
||||||
import eu.kanade.tachiyomi.util.system.launchUI
|
import eu.kanade.tachiyomi.util.system.launchUI
|
||||||
import eu.kanade.tachiyomi.util.view.scrollViewWith
|
import eu.kanade.tachiyomi.util.view.scrollViewWith
|
||||||
import kotlinx.android.synthetic.main.migration_controller.*
|
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import rx.schedulers.Schedulers
|
import rx.schedulers.Schedulers
|
||||||
@ -50,12 +49,12 @@ class MigrationController :
|
|||||||
|
|
||||||
override fun onViewCreated(view: View) {
|
override fun onViewCreated(view: View) {
|
||||||
super.onViewCreated(view)
|
super.onViewCreated(view)
|
||||||
scrollViewWith(migration_recycler, padBottom = true)
|
scrollViewWith(binding.migrationRecycler, padBottom = true)
|
||||||
|
|
||||||
adapter = FlexibleAdapter(null, this)
|
adapter = FlexibleAdapter(null, this)
|
||||||
migration_recycler.layoutManager =
|
binding.migrationRecycler.layoutManager =
|
||||||
androidx.recyclerview.widget.LinearLayoutManager(view.context)
|
androidx.recyclerview.widget.LinearLayoutManager(view.context)
|
||||||
migration_recycler.adapter = adapter
|
binding.migrationRecycler.adapter = adapter
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView(view: View) {
|
override fun onDestroyView(view: View) {
|
||||||
@ -81,7 +80,7 @@ class MigrationController :
|
|||||||
title = resources?.getString(R.string.source_migration)
|
title = resources?.getString(R.string.source_migration)
|
||||||
if (adapter !is SourceAdapter) {
|
if (adapter !is SourceAdapter) {
|
||||||
adapter = SourceAdapter(this)
|
adapter = SourceAdapter(this)
|
||||||
migration_recycler.adapter = adapter
|
binding.migrationRecycler.adapter = adapter
|
||||||
}
|
}
|
||||||
adapter?.updateDataSet(state.sourcesWithManga)
|
adapter?.updateDataSet(state.sourcesWithManga)
|
||||||
} else {
|
} else {
|
||||||
@ -89,12 +88,12 @@ class MigrationController :
|
|||||||
title = state.selectedSource.toString()
|
title = state.selectedSource.toString()
|
||||||
if (adapter !is MangaAdapter) {
|
if (adapter !is MangaAdapter) {
|
||||||
adapter = MangaAdapter(this)
|
adapter = MangaAdapter(this)
|
||||||
migration_recycler.adapter = adapter
|
binding.migrationRecycler.adapter = adapter
|
||||||
}
|
}
|
||||||
adapter?.updateDataSet(state.mangaForSource, true)
|
adapter?.updateDataSet(state.mangaForSource, true)
|
||||||
/*if (switching) launchUI {
|
/*if (switching) launchUI {
|
||||||
migration_recycler.alpha = 0f
|
binding.migrationRecycler.alpha = 0f
|
||||||
migration_recycler.animate().alpha(1f).setStartDelay(100).setDuration(200).start()
|
binding.migrationRecycler.animate().alpha(1f).setStartDelay(100).setDuration(200).start()
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,6 @@ import eu.kanade.tachiyomi.util.view.marginBottom
|
|||||||
import eu.kanade.tachiyomi.util.view.updateLayoutParams
|
import eu.kanade.tachiyomi.util.view.updateLayoutParams
|
||||||
import eu.kanade.tachiyomi.util.view.updatePaddingRelative
|
import eu.kanade.tachiyomi.util.view.updatePaddingRelative
|
||||||
import eu.kanade.tachiyomi.util.view.withFadeTransaction
|
import eu.kanade.tachiyomi.util.view.withFadeTransaction
|
||||||
import kotlinx.android.synthetic.main.pre_migration_controller.*
|
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
|
|
||||||
class PreMigrationController(bundle: Bundle? = null) :
|
class PreMigrationController(bundle: Bundle? = null) :
|
||||||
@ -52,37 +51,35 @@ class PreMigrationController(bundle: Bundle? = null) :
|
|||||||
override fun createBinding(inflater: LayoutInflater) = PreMigrationControllerBinding.inflate(inflater)
|
override fun createBinding(inflater: LayoutInflater) = PreMigrationControllerBinding.inflate(inflater)
|
||||||
override fun onViewCreated(view: View) {
|
override fun onViewCreated(view: View) {
|
||||||
super.onViewCreated(view)
|
super.onViewCreated(view)
|
||||||
liftAppbarWith(recycler)
|
liftAppbarWith(binding.recycler)
|
||||||
|
|
||||||
val ourAdapter = adapter ?: MigrationSourceAdapter(
|
val ourAdapter = adapter ?: MigrationSourceAdapter(
|
||||||
getEnabledSources().map { MigrationSourceItem(it, isEnabled(it.id.toString())) },
|
getEnabledSources().map { MigrationSourceItem(it, isEnabled(it.id.toString())) },
|
||||||
this
|
this
|
||||||
)
|
)
|
||||||
adapter = ourAdapter
|
adapter = ourAdapter
|
||||||
recycler.layoutManager = LinearLayoutManager(view.context)
|
binding.recycler.layoutManager = LinearLayoutManager(view.context)
|
||||||
recycler.setHasFixedSize(true)
|
binding.recycler.setHasFixedSize(true)
|
||||||
recycler.adapter = ourAdapter
|
binding.recycler.adapter = ourAdapter
|
||||||
ourAdapter.itemTouchHelperCallback = null // Reset adapter touch adapter to fix drag after rotation
|
ourAdapter.itemTouchHelperCallback = null // Reset adapter touch adapter to fix drag after rotation
|
||||||
ourAdapter.isHandleDragEnabled = true
|
ourAdapter.isHandleDragEnabled = true
|
||||||
dialog = null
|
dialog = null
|
||||||
val fabBaseMarginBottom = fab?.marginBottom ?: 0
|
val fabBaseMarginBottom = binding.fab.marginBottom
|
||||||
recycler.doOnApplyWindowInsets { v, insets, padding ->
|
binding.recycler.doOnApplyWindowInsets { v, insets, padding ->
|
||||||
|
|
||||||
fab?.updateLayoutParams<ViewGroup.MarginLayoutParams> {
|
binding.fab.updateLayoutParams<ViewGroup.MarginLayoutParams> {
|
||||||
bottomMargin = fabBaseMarginBottom + insets.systemWindowInsetBottom
|
bottomMargin = fabBaseMarginBottom + insets.systemWindowInsetBottom
|
||||||
}
|
}
|
||||||
v.post {
|
v.post {
|
||||||
// offset the recycler by the fab's inset + some inset on top
|
// offset the binding.recycler by the binding.fab's inset + some inset on top
|
||||||
v.updatePaddingRelative(
|
v.updatePaddingRelative(
|
||||||
bottom = insets.systemWindowInsetBottom + (
|
bottom = insets.systemWindowInsetBottom + binding.fab.marginBottom +
|
||||||
fab?.marginBottom
|
(binding.fab.height)
|
||||||
?: 0
|
|
||||||
) + (fab?.height ?: 0)
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fab.setOnClickListener {
|
binding.fab.setOnClickListener {
|
||||||
if (dialog?.isShowing != true) {
|
if (dialog?.isShowing != true) {
|
||||||
dialog = MigrationBottomSheetDialog(activity!!, this)
|
dialog = MigrationBottomSheetDialog(activity!!, this)
|
||||||
dialog?.show()
|
dialog?.show()
|
||||||
|
@ -35,7 +35,6 @@ import eu.kanade.tachiyomi.ui.migration.MigrationMangaDialog
|
|||||||
import eu.kanade.tachiyomi.ui.migration.SearchController
|
import eu.kanade.tachiyomi.ui.migration.SearchController
|
||||||
import eu.kanade.tachiyomi.ui.migration.manga.design.PreMigrationController
|
import eu.kanade.tachiyomi.ui.migration.manga.design.PreMigrationController
|
||||||
import eu.kanade.tachiyomi.util.chapter.syncChaptersWithSource
|
import eu.kanade.tachiyomi.util.chapter.syncChaptersWithSource
|
||||||
import eu.kanade.tachiyomi.util.system.await
|
|
||||||
import eu.kanade.tachiyomi.util.system.executeOnIO
|
import eu.kanade.tachiyomi.util.system.executeOnIO
|
||||||
import eu.kanade.tachiyomi.util.system.getResourceColor
|
import eu.kanade.tachiyomi.util.system.getResourceColor
|
||||||
import eu.kanade.tachiyomi.util.system.launchUI
|
import eu.kanade.tachiyomi.util.system.launchUI
|
||||||
@ -43,7 +42,6 @@ import eu.kanade.tachiyomi.util.system.toast
|
|||||||
import eu.kanade.tachiyomi.util.view.RecyclerWindowInsetsListener
|
import eu.kanade.tachiyomi.util.view.RecyclerWindowInsetsListener
|
||||||
import eu.kanade.tachiyomi.util.view.liftAppbarWith
|
import eu.kanade.tachiyomi.util.view.liftAppbarWith
|
||||||
import eu.kanade.tachiyomi.util.view.withFadeTransaction
|
import eu.kanade.tachiyomi.util.view.withFadeTransaction
|
||||||
import kotlinx.android.synthetic.main.migration_list_controller.*
|
|
||||||
import kotlinx.coroutines.CancellationException
|
import kotlinx.coroutines.CancellationException
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@ -96,7 +94,7 @@ class MigrationListController(bundle: Bundle? = null) :
|
|||||||
|
|
||||||
override fun onViewCreated(view: View) {
|
override fun onViewCreated(view: View) {
|
||||||
super.onViewCreated(view)
|
super.onViewCreated(view)
|
||||||
liftAppbarWith(recycler)
|
liftAppbarWith(binding.recycler)
|
||||||
setTitle()
|
setTitle()
|
||||||
val config = this.config ?: return
|
val config = this.config ?: return
|
||||||
|
|
||||||
@ -110,10 +108,10 @@ class MigrationListController(bundle: Bundle? = null) :
|
|||||||
|
|
||||||
adapter = MigrationProcessAdapter(this)
|
adapter = MigrationProcessAdapter(this)
|
||||||
|
|
||||||
recycler.adapter = adapter
|
binding.recycler.adapter = adapter
|
||||||
recycler.layoutManager = LinearLayoutManager(view.context)
|
binding.recycler.layoutManager = LinearLayoutManager(view.context)
|
||||||
recycler.setHasFixedSize(true)
|
binding.recycler.setHasFixedSize(true)
|
||||||
recycler.setOnApplyWindowInsetsListener(RecyclerWindowInsetsListener)
|
binding.recycler.setOnApplyWindowInsetsListener(RecyclerWindowInsetsListener)
|
||||||
|
|
||||||
adapter?.updateDataSet(newMigratingManga.map { it.toModal() })
|
adapter?.updateDataSet(newMigratingManga.map { it.toModal() })
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user