Read from start quick action

remotes/weblate/feature/pagecrop
Koitharu 6 years ago
parent 9d19b5fec0
commit a774d2d915

@ -17,10 +17,13 @@ import org.koitharu.kotatsu.ui.main.list.favourites.categories.FavouriteCategori
import org.koitharu.kotatsu.ui.reader.ReaderActivity import org.koitharu.kotatsu.ui.reader.ReaderActivity
import org.koitharu.kotatsu.ui.search.MangaSearchSheet import org.koitharu.kotatsu.ui.search.MangaSearchSheet
import org.koitharu.kotatsu.utils.ext.addChips import org.koitharu.kotatsu.utils.ext.addChips
import org.koitharu.kotatsu.utils.ext.showPopupMenu
import org.koitharu.kotatsu.utils.ext.textAndVisible import org.koitharu.kotatsu.utils.ext.textAndVisible
import kotlin.math.roundToInt import kotlin.math.roundToInt
class MangaDetailsFragment : BaseFragment(R.layout.fragment_details), MangaDetailsView, View.OnClickListener { class MangaDetailsFragment : BaseFragment(R.layout.fragment_details), MangaDetailsView,
View.OnClickListener,
View.OnLongClickListener {
@Suppress("unused") @Suppress("unused")
private val presenter by moxyPresenter(factory = MangaDetailsPresenter.Companion::getInstance) private val presenter by moxyPresenter(factory = MangaDetailsPresenter.Companion::getInstance)
@ -64,9 +67,9 @@ class MangaDetailsFragment : BaseFragment(R.layout.fragment_details), MangaDetai
onClickListener = this@MangaDetailsFragment onClickListener = this@MangaDetailsFragment
) )
} }
imageView_favourite.setOnClickListener { imageView_favourite.setOnClickListener(this)
FavouriteCategoriesDialog.show(childFragmentManager, manga) button_read.setOnClickListener(this)
} button_read.setOnLongClickListener(this)
updateReadButton() updateReadButton()
} }
@ -96,11 +99,52 @@ class MangaDetailsFragment : BaseFragment(R.layout.fragment_details), MangaDetai
override fun onNewChaptersChanged(newChapters: Int) = Unit override fun onNewChaptersChanged(newChapters: Int) = Unit
override fun onClick(v: View) { override fun onClick(v: View) {
if (v is Chip) { when {
when(val tag = v.tag) { v.id == R.id.imageView_favourite -> {
is String -> MangaSearchSheet.show(activity?.supportFragmentManager ?: childFragmentManager, FavouriteCategoriesDialog.show(childFragmentManager, manga ?: return)
manga?.source ?: return, tag) }
v.id == R.id.button_read -> {
startActivity(
ReaderActivity.newIntent(
context ?: return,
manga ?: return,
history
)
)
}
v is Chip -> {
when (val tag = v.tag) {
is String -> MangaSearchSheet.show(activity?.supportFragmentManager
?: childFragmentManager,
manga?.source ?: return, tag)
}
}
}
}
override fun onLongClick(v: View): Boolean {
when {
v.id == R.id.button_read -> {
if (history == null) {
return false
}
v.showPopupMenu(R.menu.popup_read) {
when (it.itemId) {
R.id.action_read -> {
startActivity(
ReaderActivity.newIntent(
context ?: return@showPopupMenu false,
manga ?: return@showPopupMenu false
)
)
true
}
else -> false
}
}
return true
} }
else -> return false
} }
} }
@ -116,15 +160,6 @@ class MangaDetailsFragment : BaseFragment(R.layout.fragment_details), MangaDetai
button_read.setText(R.string._continue) button_read.setText(R.string._continue)
button_read.setIconResource(R.drawable.ic_play) button_read.setIconResource(R.drawable.ic_play)
} }
button_read.setOnClickListener {
startActivity(
ReaderActivity.newIntent(
context ?: return@setOnClickListener,
manga ?: return@setOnClickListener,
history
)
)
}
} }
} }
} }

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_read"
android:title="@string/read_from_start" />
</menu>

@ -116,4 +116,5 @@
<string name="new_chapters">Новые главы</string> <string name="new_chapters">Новые главы</string>
<string name="show_notification_new_chapters">Уведомлять об обновлении манги, которую Вы читаете</string> <string name="show_notification_new_chapters">Уведомлять об обновлении манги, которую Вы читаете</string>
<string name="download">Загрузить</string> <string name="download">Загрузить</string>
<string name="read_from_start">Читать с начала</string>
</resources> </resources>

@ -117,4 +117,5 @@
<string name="new_chapters">New chapters</string> <string name="new_chapters">New chapters</string>
<string name="show_notification_new_chapters">Notify about updates of manga you are reading</string> <string name="show_notification_new_chapters">Notify about updates of manga you are reading</string>
<string name="download">Download</string> <string name="download">Download</string>
<string name="read_from_start">Read from start</string>
</resources> </resources>
Loading…
Cancel
Save