Fix details ui

pull/216/head
Koitharu 4 years ago
parent f677a75ad1
commit 2d73894880
No known key found for this signature in database
GPG Key ID: 8E861F8CE6E7CE27

@ -21,6 +21,7 @@ import androidx.core.view.updatePadding
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.google.android.material.badge.BadgeDrawable import com.google.android.material.badge.BadgeDrawable
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.snackbar.BaseTransientBottomBar
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject import javax.inject.Inject
@ -99,6 +100,7 @@ class DetailsActivity :
viewModel.onMangaRemoved.observe(this, ::onMangaRemoved) viewModel.onMangaRemoved.observe(this, ::onMangaRemoved)
viewModel.onError.observe(this, ::onError) viewModel.onError.observe(this, ::onError)
viewModel.onShowToast.observe(this) { viewModel.onShowToast.observe(this) {
makeSnackbar(getString(it), Snackbar.LENGTH_SHORT).show()
} }
viewModel.historyInfo.observe(this, ::onHistoryChanged) viewModel.historyInfo.observe(this, ::onHistoryChanged)
viewModel.selectedBranchName.observe(this) { viewModel.selectedBranchName.observe(this) {
@ -167,7 +169,7 @@ class DetailsActivity :
val hasChapters = !manga.chapters.isNullOrEmpty() val hasChapters = !manga.chapters.isNullOrEmpty()
binding.buttonRead.isEnabled = hasChapters binding.buttonRead.isEnabled = hasChapters
invalidateOptionsMenu() invalidateOptionsMenu()
showBottomSheet(hasChapters) showBottomSheet(manga.chapters != null)
binding.groupHeader?.isVisible = hasChapters binding.groupHeader?.isVisible = hasChapters
} }
@ -191,8 +193,7 @@ class DetailsActivity :
finishAfterTransition() finishAfterTransition()
} }
else -> { else -> {
val snackbar = Snackbar.make( val snackbar = makeSnackbar(
binding.containerDetails,
e.getDisplayMessage(resources), e.getDisplayMessage(resources),
if (viewModel.manga.value?.chapters == null) { if (viewModel.manga.value?.chapters == null) {
Snackbar.LENGTH_INDEFINITE Snackbar.LENGTH_INDEFINITE
@ -200,9 +201,6 @@ class DetailsActivity :
Snackbar.LENGTH_LONG Snackbar.LENGTH_LONG
}, },
) )
if (binding.layoutBottom?.isVisible == true) {
snackbar.anchorView = binding.headerChapters
}
if (e.isReportable()) { if (e.isReportable()) {
snackbar.setAction(R.string.details) { snackbar.setAction(R.string.details) {
MangaErrorDialog.show(supportFragmentManager, manga, e) MangaErrorDialog.show(supportFragmentManager, manga, e)
@ -250,8 +248,7 @@ class DetailsActivity :
fun showChapterMissingDialog(chapterId: Long) { fun showChapterMissingDialog(chapterId: Long) {
val remoteManga = viewModel.getRemoteManga() val remoteManga = viewModel.getRemoteManga()
if (remoteManga == null) { if (remoteManga == null) {
val snackbar = Snackbar.make(binding.containerDetails, R.string.chapter_is_missing, Snackbar.LENGTH_SHORT) val snackbar = makeSnackbar(getString(R.string.chapter_is_missing), Snackbar.LENGTH_SHORT)
snackbar.anchorView = binding.headerChapters
snackbar.show() snackbar.show()
return return
} }
@ -313,6 +310,14 @@ class DetailsActivity :
view.isVisible = isVisible view.isVisible = isVisible
} }
private fun makeSnackbar(text: CharSequence, @BaseTransientBottomBar.Duration duration: Int): Snackbar {
val sb = Snackbar.make(binding.containerDetails, text, duration)
if (binding.layoutBottom?.isVisible == true) {
sb.anchorView = binding.headerChapters
}
return sb
}
companion object { companion object {
fun newIntent(context: Context, manga: Manga): Intent { fun newIntent(context: Context, manga: Manga): Intent {

Loading…
Cancel
Save