Insets for snackbar

pull/2497/head
Jay 5 years ago
parent 71bf9dc828
commit b94da6b3ed

@ -210,7 +210,9 @@ open class BrowseCatalogueController(bundle: Bundle) :
recycler.adapter = adapter recycler.adapter = adapter
catalogue_view.addView(recycler, 1) catalogue_view.addView(recycler, 1)
recycler.doOnApplyWindowInsets { v, insets, padding ->
v.updatePaddingRelative(bottom = padding.bottom + insets.systemWindowInsetBottom)
}
if (oldPosition != RecyclerView.NO_POSITION) { if (oldPosition != RecyclerView.NO_POSITION) {
recycler.layoutManager?.scrollToPosition(oldPosition) recycler.layoutManager?.scrollToPosition(oldPosition)
} }
@ -367,6 +369,9 @@ open class BrowseCatalogueController(bundle: Bundle) :
presenter.requestNext() presenter.requestNext()
} }
} }
snack?.view?.doOnApplyWindowInsets { v, _, padding ->
v.setPadding(padding.left,0,padding.right,0)
}
} }
/** /**

@ -33,11 +33,13 @@ import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
import eu.kanade.tachiyomi.ui.category.CategoryController import eu.kanade.tachiyomi.ui.category.CategoryController
import eu.kanade.tachiyomi.ui.main.MainActivity import eu.kanade.tachiyomi.ui.main.MainActivity
import eu.kanade.tachiyomi.ui.main.doOnApplyWindowInsets import eu.kanade.tachiyomi.ui.main.doOnApplyWindowInsets
import eu.kanade.tachiyomi.ui.main.marginBottom
import eu.kanade.tachiyomi.ui.main.updateLayoutParams import eu.kanade.tachiyomi.ui.main.updateLayoutParams
import eu.kanade.tachiyomi.ui.main.updatePaddingRelative import eu.kanade.tachiyomi.ui.main.updatePaddingRelative
import eu.kanade.tachiyomi.ui.manga.MangaController import eu.kanade.tachiyomi.ui.manga.MangaController
import eu.kanade.tachiyomi.ui.migration.MigrationController import eu.kanade.tachiyomi.ui.migration.MigrationController
import eu.kanade.tachiyomi.util.inflate import eu.kanade.tachiyomi.util.inflate
import eu.kanade.tachiyomi.util.marginTop
import eu.kanade.tachiyomi.util.toast import eu.kanade.tachiyomi.util.toast
import kotlinx.android.synthetic.main.chapters_controller.* import kotlinx.android.synthetic.main.chapters_controller.*
import kotlinx.android.synthetic.main.library_controller.* import kotlinx.android.synthetic.main.library_controller.*
@ -200,8 +202,8 @@ class LibraryController(
statusScrim.setOnApplyWindowInsetsListener(HeightTopWindowInsetsListener) statusScrim.setOnApplyWindowInsetsListener(HeightTopWindowInsetsListener)
view.doOnApplyWindowInsets { v, insets, padding -> view.doOnApplyWindowInsets { v, insets, padding ->
view.recycler.updatePaddingRelative( view.recycler.updatePaddingRelative(
bottom = view.recycler.bottom + insets.systemWindowInsetBottom, bottom = view.recycler.marginBottom + insets.systemWindowInsetBottom,
top = view.recycler.top + insets.systemWindowInsetTop top = view.recycler.marginTop + insets.systemWindowInsetTop
) )
} }
return view return view

@ -381,11 +381,15 @@ class ChaptersController : NucleusController<ChaptersPresenter>(),
destroyActionModeIfNeeded() destroyActionModeIfNeeded()
presenter.downloadChapters(chapters) presenter.downloadChapters(chapters)
if (view != null && !presenter.manga.favorite) { if (view != null && !presenter.manga.favorite) {
recycler?.snack(view.context.getString(R.string.snack_add_to_library), Snackbar.LENGTH_INDEFINITE) { val snack = view.snack(view.context.getString(R.string.snack_add_to_library), Snackbar
.LENGTH_INDEFINITE) {
setAction(R.string.action_add) { setAction(R.string.action_add) {
presenter.addToLibrary() presenter.addToLibrary()
} }
} }
snack.view.doOnApplyWindowInsets { v, _, padding ->
v.setPadding(padding.left,0,padding.right,0)
}
} }
} }

@ -94,3 +94,6 @@ fun View.getRound(text: String, random : Boolean = true): TextDrawable {
.endConfig() .endConfig()
.buildRound(text, if (random) ColorGenerator.MATERIAL.randomColor else ColorGenerator.MATERIAL.getColor(text)) .buildRound(text, if (random) ColorGenerator.MATERIAL.randomColor else ColorGenerator.MATERIAL.getColor(text))
} }
inline val View.marginTop: Int
get() = (layoutParams as? ViewGroup.MarginLayoutParams)?.topMargin ?: 0

Loading…
Cancel
Save