Add user manga notes (#428)

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 8fbe630308b962043c7b59422878c94f80156e9f)

# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaInfoHeader.kt
#	app/src/main/java/eu/kanade/presentation/manga/components/MangaToolbar.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/MangaBackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/MigrationFlags.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	data/src/main/sqldelight/tachiyomi/migrations/5.sqm
#	domain/src/main/java/tachiyomi/domain/manga/model/MangaUpdate.kt
This commit is contained in:
kunet
2025-03-29 17:18:38 -04:00
committed by Jobobby04
parent 70b25825ec
commit fb3c996904
27 changed files with 610 additions and 24 deletions
@@ -34,13 +34,14 @@ private val mapper = { cursor: SqlCursor ->
favorite_modified_at = cursor.getLong(22),
version = cursor.getLong(23)!!,
is_syncing = cursor.getLong(24)!!,
totalCount = cursor.getLong(25)!!,
readCount = cursor.getDouble(26)!!,
latestUpload = cursor.getLong(27)!!,
chapterFetchedAt = cursor.getLong(28)!!,
lastRead = cursor.getLong(29)!!,
bookmarkCount = cursor.getDouble(30)!!,
category = cursor.getLong(31)!!,
notes = cursor.getString(25)!!,
totalCount = cursor.getLong(26)!!,
readCount = cursor.getDouble(27)!!,
latestUpload = cursor.getLong(28)!!,
chapterFetchedAt = cursor.getLong(29)!!,
lastRead = cursor.getLong(30)!!,
bookmarkCount = cursor.getDouble(31)!!,
category = cursor.getLong(32)!!,
)
}
@@ -36,6 +36,7 @@ object MangaMapper {
version: Long,
@Suppress("UNUSED_PARAMETER")
isSyncing: Long,
notes: String,
): Manga = Manga(
id = id,
source = source,
@@ -62,6 +63,7 @@ object MangaMapper {
lastModifiedAt = lastModifiedAt,
favoriteModifiedAt = favoriteModifiedAt,
version = version,
notes = notes,
)
fun mapLibraryManga(
@@ -93,6 +95,7 @@ object MangaMapper {
favoriteModifiedAt: Long?,
version: Long,
isSyncing: Long,
notes: String,
totalCount: Long,
readCount: Double,
latestUpload: Long,
@@ -129,6 +132,7 @@ object MangaMapper {
favoriteModifiedAt,
version,
isSyncing,
notes,
),
category = category,
totalChapters = totalCount,
@@ -165,6 +169,7 @@ object MangaMapper {
lastModifiedAt = libraryView.last_modified_at,
favoriteModifiedAt = libraryView.favorite_modified_at,
version = libraryView.version,
notes = libraryView.notes,
),
category = libraryView.category,
totalChapters = libraryView.totalCount,
@@ -184,6 +184,7 @@ class MangaRepositoryImpl(
updateStrategy = value.updateStrategy?.let(UpdateStrategyColumnAdapter::encode),
version = value.version,
isSyncing = 0,
notes = value.notes,
)
}
}
@@ -28,7 +28,8 @@ CREATE TABLE mangas(
last_modified_at INTEGER NOT NULL DEFAULT 0,
favorite_modified_at INTEGER,
version INTEGER NOT NULL DEFAULT 0,
is_syncing INTEGER NOT NULL DEFAULT 0
is_syncing INTEGER NOT NULL DEFAULT 0,
notes TEXT NOT NULL DEFAULT ""
);
CREATE INDEX library_favorite_index ON mangas(favorite) WHERE favorite = 1;
@@ -187,7 +188,8 @@ UPDATE mangas SET
update_strategy = coalesce(:updateStrategy, update_strategy),
calculate_interval = coalesce(:calculateInterval, calculate_interval),
version = coalesce(:version, version),
is_syncing = coalesce(:isSyncing, is_syncing)
is_syncing = coalesce(:isSyncing, is_syncing),
notes = coalesce(:notes, notes)
WHERE _id = :mangaId;
selectLastInsertedRowId:
@@ -0,0 +1,3 @@
-- Add notes column
ALTER TABLE mangas
ADD notes TEXT NOT NULL DEFAULT "";