diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt b/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt index 69c9cc6b6e..fe3c074d5e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/database/models/Manga.kt @@ -78,7 +78,8 @@ interface Manga : SManga { const val SORTING_SOURCE = 0x00000000 const val SORTING_NUMBER = 0x00000100 - const val SORTING_MASK = 0x00000100 + const val SORTING_UPLOAD_DATE = 0x00000200 + const val SORTING_MASK = 0x00000300 const val DISPLAY_NAME = 0x00000000 const val DISPLAY_NUMBER = 0x00100000 diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersController.kt index 59e64f6951..b2aa4ba3c3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersController.kt @@ -196,11 +196,13 @@ class ChaptersController : } // Sorting mode submenu - if (presenter.manga.sorting == Manga.SORTING_SOURCE) { - menu.findItem(R.id.sort_by_source).isChecked = true - } else { - menu.findItem(R.id.sort_by_number).isChecked = true + val sortingItem = when (presenter.manga.sorting) { + Manga.SORTING_SOURCE -> R.id.sort_by_source + Manga.SORTING_NUMBER -> R.id.sort_by_number + Manga.SORTING_UPLOAD_DATE -> R.id.sort_by_upload_date + else -> throw NotImplementedError("Unimplemented sorting method") } + menu.findItem(sortingItem).isChecked = true } override fun onOptionsItemSelected(item: MenuItem): Boolean { @@ -222,6 +224,10 @@ class ChaptersController : item.isChecked = true presenter.setSorting(Manga.SORTING_NUMBER) } + R.id.sort_by_upload_date -> { + item.isChecked = true + presenter.setSorting(Manga.SORTING_UPLOAD_DATE) + } R.id.download_next, R.id.download_next_5, R.id.download_next_10, R.id.download_custom, R.id.download_unread, R.id.download_all diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersPresenter.kt index e108a8eb73..1434e3d56a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersPresenter.kt @@ -203,6 +203,10 @@ class ChaptersPresenter( true -> { c1, c2 -> c2.chapter_number.compareTo(c1.chapter_number) } false -> { c1, c2 -> c1.chapter_number.compareTo(c2.chapter_number) } } + Manga.SORTING_UPLOAD_DATE -> when (sortDescending()) { + true -> { c1, c2 -> c2.date_upload.compareTo(c1.date_upload) } + false -> { c1, c2 -> c1.date_upload.compareTo(c2.date_upload) } + } else -> throw NotImplementedError("Unimplemented sorting method") } return observable.toSortedList(sortFunction) diff --git a/app/src/main/res/menu/chapters.xml b/app/src/main/res/menu/chapters.xml index 13ae70dc31..e4d16d4071 100644 --- a/app/src/main/res/menu/chapters.xml +++ b/app/src/main/res/menu/chapters.xml @@ -64,6 +64,9 @@ + diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index f69266a231..330af7f1eb 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -183,6 +183,7 @@ Ordenado de capítulos Por fuente Por número de capítulo + Por fecha de carga Descargar Siguiente capítulo Siguientes 5 capítulos diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 788a8bcec2..ef12c49dfd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -473,6 +473,7 @@ Sorting mode By source By chapter number + By chapter upload date Download Download custom amount Next chapter