diff --git a/app/src/main/java/org/koitharu/kotatsu/core/db/HistoryDao.kt b/app/src/main/java/org/koitharu/kotatsu/core/db/HistoryDao.kt index 7c21e8828..e218e7481 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/db/HistoryDao.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/db/HistoryDao.kt @@ -12,8 +12,8 @@ abstract class HistoryDao { * @hide */ @Transaction - @Query("SELECT * FROM history ORDER BY :orderBy LIMIT :limit OFFSET :offset") - abstract suspend fun findAll(offset: Int, limit: Int, orderBy: String): List + @Query("SELECT * FROM history ORDER BY updated_at DESC LIMIT :limit OFFSET :offset") + abstract suspend fun findAll(offset: Int, limit: Int): List @Query("SELECT * FROM history WHERE manga_id = :id") abstract suspend fun find(id: Long): HistoryEntity? diff --git a/app/src/main/java/org/koitharu/kotatsu/domain/history/HistoryRepository.kt b/app/src/main/java/org/koitharu/kotatsu/domain/history/HistoryRepository.kt index c6fbb6cc1..7573b821f 100644 --- a/app/src/main/java/org/koitharu/kotatsu/domain/history/HistoryRepository.kt +++ b/app/src/main/java/org/koitharu/kotatsu/domain/history/HistoryRepository.kt @@ -17,7 +17,7 @@ class HistoryRepository : KoinComponent { private val db: MangaDatabase by inject() suspend fun getList(offset: Int): List { - val entities = db.historyDao().findAll(offset, 20, "updated_at DESC") + val entities = db.historyDao().findAll(offset, 20) return entities.map { it.manga.toManga(it.tags.map(TagEntity::toMangaTag).toSet()) } } diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/details/MangaDetailsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/details/MangaDetailsFragment.kt index 3744d21f6..f8d20acb5 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/details/MangaDetailsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/details/MangaDetailsFragment.kt @@ -95,7 +95,7 @@ class MangaDetailsFragment : BaseFragment(R.layout.fragment_details), MangaDetai button_read.setText(R.string.read) button_read.setIconResource(R.drawable.ic_read) } else { - button_read.setText(R.string.continue_) + button_read.setText(R.string._continue) button_read.setIconResource(R.drawable.ic_play) } button_read.setOnClickListener { diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/reader/wetoon/WebtoonFrameLayout.kt b/app/src/main/java/org/koitharu/kotatsu/ui/reader/wetoon/WebtoonFrameLayout.kt index 9668aede0..38a20ba83 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/reader/wetoon/WebtoonFrameLayout.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/reader/wetoon/WebtoonFrameLayout.kt @@ -19,6 +19,9 @@ class WebtoonFrameLayout @JvmOverloads constructor( } fun dispatchVerticalScroll(dy: Int): Int { + if (!target.isImageLoaded) { + return dy //consume all scrolling + } target.getPanRemaining(pan) val c = target.center ?: return 0 val s = target.scale diff --git a/app/src/main/java/org/koitharu/kotatsu/utils/GridTouchHelper.kt b/app/src/main/java/org/koitharu/kotatsu/utils/GridTouchHelper.kt index 28fcd789b..86c6cccf0 100644 --- a/app/src/main/java/org/koitharu/kotatsu/utils/GridTouchHelper.kt +++ b/app/src/main/java/org/koitharu/kotatsu/utils/GridTouchHelper.kt @@ -11,6 +11,7 @@ class GridTouchHelper(context: Context, private val listener: OnGridTouchListene private val detector = GestureDetector(context, this) private val width = context.resources.displayMetrics.widthPixels private val height = context.resources.displayMetrics.heightPixels + private var isDispatching = false init { detector.setIsLongpressEnabled(false) @@ -18,12 +19,15 @@ class GridTouchHelper(context: Context, private val listener: OnGridTouchListene } fun dispatchTouchEvent(event: MotionEvent) { + if (event.actionMasked == MotionEvent.ACTION_DOWN) { + isDispatching = listener.onProcessTouch(event.rawX.toInt(), event.rawY.toInt()) + } detector.onTouchEvent(event) } override fun onSingleTapConfirmed(event: MotionEvent): Boolean { - if (!listener.onProcessTouch(event.rawX.toInt(), event.rawY.toInt())) { - return false + if (!isDispatching) { + return true } val xIndex = (event.rawX * 2f / width).roundToInt() val yIndex = (event.rawY * 2f / height).roundToInt() diff --git a/app/src/main/res/layout/fragment_details.xml b/app/src/main/res/layout/fragment_details.xml index b03d021e3..dd4f81067 100644 --- a/app/src/main/res/layout/fragment_details.xml +++ b/app/src/main/res/layout/fragment_details.xml @@ -69,6 +69,7 @@ android:layout_marginEnd="4dp" android:enabled="false" android:text="@string/read" + tools:text="@string/_continue" app:icon="@drawable/ic_read" app:iconPadding="12dp" app:layout_constraintBottom_toBottomOf="@id/imageView_cover" @@ -87,8 +88,10 @@ android:src="@drawable/ic_tag_heart_outline" app:layout_constraintBottom_toBottomOf="@id/button_read" app:layout_constraintDimensionRatio="1:1" + app:layout_constraintHorizontal_bias="1" app:layout_constraintEnd_toStartOf="@id/button_read" app:layout_constraintTop_toTopOf="@id/button_read" + app:layout_constraintStart_toStartOf="@id/textView_title" app:tint="?colorAccent" /> Ничего не найдено История пуста Читать - Продолжить Добавить закладку У Вас пока нет избранной манги Добавить в избранное @@ -90,4 +89,8 @@ Листание страниц Нажатия по краям Кнопки громкости + Продолжить + Предупреждение + Данная операция может привести к большому расходу траффика + Больше не спрашивать \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a92474ab5..df56bd600 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -23,7 +23,6 @@ Nothing found History is empty Read - Continue Add bookmark You have not favourites yet Add to favourites