From 32eba77639733e4ed8d25136f11feaf3cc5c3154 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Thu, 11 Apr 2024 18:56:47 +0300 Subject: [PATCH] Add Updated navigation section --- .../koitharu/kotatsu/core/prefs/NavItem.kt | 3 ++- .../kotatsu/main/ui/MainNavigationDelegate.kt | 3 +++ .../kotatsu/tracker/data/TracksDao.kt | 4 ++-- app/src/main/res/drawable/ic_updated.xml | 11 ++++++++++ .../main/res/drawable/ic_updated_checked.xml | 11 ++++++++++ .../main/res/drawable/ic_updated_selector.xml | 20 +++++++++++++++++++ app/src/main/res/values/ids.xml | 1 + 7 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 app/src/main/res/drawable/ic_updated.xml create mode 100644 app/src/main/res/drawable/ic_updated_checked.xml create mode 100644 app/src/main/res/drawable/ic_updated_selector.xml diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/NavItem.kt b/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/NavItem.kt index 734060b65..97a4f016d 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/NavItem.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/core/prefs/NavItem.kt @@ -17,12 +17,13 @@ enum class NavItem( EXPLORE(R.id.nav_explore, R.string.explore, R.drawable.ic_explore_selector), SUGGESTIONS(R.id.nav_suggestions, R.string.suggestions, R.drawable.ic_suggestion_selector), FEED(R.id.nav_feed, R.string.feed, R.drawable.ic_feed_selector), + UPDATED(R.id.nav_updated, R.string.updated, R.drawable.ic_updated_selector), BOOKMARKS(R.id.nav_bookmarks, R.string.bookmarks, R.drawable.ic_bookmark_selector), ; fun isAvailable(settings: AppSettings): Boolean = when (this) { SUGGESTIONS -> settings.isSuggestionsEnabled - FEED -> settings.isTrackerEnabled + UPDATED, FEED -> settings.isTrackerEnabled else -> true } } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/main/ui/MainNavigationDelegate.kt b/app/src/main/kotlin/org/koitharu/kotatsu/main/ui/MainNavigationDelegate.kt index 59b856322..04cd64f9f 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/main/ui/MainNavigationDelegate.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/main/ui/MainNavigationDelegate.kt @@ -34,6 +34,7 @@ import org.koitharu.kotatsu.history.ui.HistoryListFragment import org.koitharu.kotatsu.local.ui.LocalListFragment import org.koitharu.kotatsu.suggestions.ui.SuggestionsFragment import org.koitharu.kotatsu.tracker.ui.feed.FeedFragment +import org.koitharu.kotatsu.tracker.ui.updates.UpdatesFragment import java.util.LinkedList import com.google.android.material.R as materialR @@ -144,6 +145,7 @@ class MainNavigationDelegate( R.id.nav_local -> LocalListFragment::class.java R.id.nav_suggestions -> SuggestionsFragment::class.java R.id.nav_bookmarks -> BookmarksFragment::class.java + R.id.nav_updated -> UpdatesFragment::class.java else -> return false }, ) @@ -157,6 +159,7 @@ class MainNavigationDelegate( is LocalListFragment -> R.id.nav_local is SuggestionsFragment -> R.id.nav_suggestions is BookmarksFragment -> R.id.nav_bookmarks + is UpdatesFragment -> R.id.nav_updated else -> 0 } diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/tracker/data/TracksDao.kt b/app/src/main/kotlin/org/koitharu/kotatsu/tracker/data/TracksDao.kt index 937f3514b..31b58b86d 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/tracker/data/TracksDao.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/tracker/data/TracksDao.kt @@ -47,11 +47,11 @@ abstract class TracksDao { abstract fun observeNewChapters(mangaId: Long): Flow @Transaction - @Query("SELECT manga.* FROM tracks LEFT JOIN manga ON manga.manga_id = tracks.manga_id WHERE chapters_new > 0 ORDER BY chapters_new DESC") + @Query("SELECT manga.* FROM tracks LEFT JOIN manga ON manga.manga_id = tracks.manga_id WHERE chapters_new > 0 ORDER BY last_chapter_date DESC") abstract fun observeUpdatedManga(): Flow> @Transaction - @Query("SELECT manga.* FROM tracks LEFT JOIN manga ON manga.manga_id = tracks.manga_id WHERE chapters_new > 0 ORDER BY chapters_new DESC LIMIT :limit") + @Query("SELECT manga.* FROM tracks LEFT JOIN manga ON manga.manga_id = tracks.manga_id WHERE chapters_new > 0 ORDER BY last_chapter_date DESC LIMIT :limit") abstract fun observeUpdatedManga(limit: Int): Flow> @Query("DELETE FROM tracks") diff --git a/app/src/main/res/drawable/ic_updated.xml b/app/src/main/res/drawable/ic_updated.xml new file mode 100644 index 000000000..d4d2ed3da --- /dev/null +++ b/app/src/main/res/drawable/ic_updated.xml @@ -0,0 +1,11 @@ + + + diff --git a/app/src/main/res/drawable/ic_updated_checked.xml b/app/src/main/res/drawable/ic_updated_checked.xml new file mode 100644 index 000000000..36c816871 --- /dev/null +++ b/app/src/main/res/drawable/ic_updated_checked.xml @@ -0,0 +1,11 @@ + + + diff --git a/app/src/main/res/drawable/ic_updated_selector.xml b/app/src/main/res/drawable/ic_updated_selector.xml new file mode 100644 index 000000000..177ea400b --- /dev/null +++ b/app/src/main/res/drawable/ic_updated_selector.xml @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/app/src/main/res/values/ids.xml b/app/src/main/res/values/ids.xml index 0a060ced1..5097565e5 100644 --- a/app/src/main/res/values/ids.xml +++ b/app/src/main/res/values/ids.xml @@ -14,6 +14,7 @@ +