* add countries flags
add flags & simplify/sizing
add flagkit
* add flags to Extensions Filter
* add flags to Sources & Extensions screen
* show language flag in Library
* showing source icon in library
* Change language icon for local source from Folder to Globe
* adjust size & padding for icon & badge
* Setting enable/disable source icon
allow change feed's order manually by moving up/down
partially implement #130
* add feed_order
- add/migrate feed_order column
- auto increament feed_order when adding new feed
- showing feed in order using feed_order
* refactor code to support feedOrder
* swap feed order
* Fix generating feed's order when no feed existed
* feat: banner showing updating status
* showing progress for updating
* showing progress for syncing & backup restoring too
* preferences for progress banner
* Support Pure dark mode
* Tag using elevated style (non pure-dark-mode) and more vibrant outline color (pure-dark-mode)
* More color for various icons
* Color theme for Metadata screen
* Always animated color change
* Always/Only use dominant color for library/update/upcoming cover's background
* Don't always generate color each time cover loaded (library/browse), only update color when new cover changed on detail page
* Fix the spinner background in Edit Manga Info
* Improve manga's backdrop color
Detail:
* Change Cover's color & ratio preference key to AppState
* using ElevatedSuggestionChip with color
* more icon color
* color theme for MetadataViewScreen
* enable animation by default
* Fix: can't turn off theme cover based
* Won't check pref for theme enabled everytime, instead always generate cover's color to run faster later
* Skip generate cover's vibrant color for browsing mangas if already generated, also won't even trying to read ratio for favorite mangas
* Only generate new seed color when cover loaded in detail page
* only use dominantColor for cover when cover is unable to load
* Don't use elevatedSuggestionChip for darkmode and change border color
* EditMangaInfo: Set Spinner's selected item's background color to transparent
* update chip color
* Colors Palette screen
* Support Amoled Dark Mode by upgrading Material-Kolor to 1.7.0
* improve manga's backdrop color
* only generate color while browsing if option is enabled, aslo fixed the case won't update dominant color if cover changed
* always using theme animation
* update translation
* Using MaterialKolor & Pallete to generate MaterialTheme based on seedColor
* Fix MangaActionRow's color
* Merge ImageRequest methods into one
* add backdrop color
* support dynamic color in EnhancedSource's metadata view
* dynamic color for MetadataViewScreen
* dynamic color for all dialogs
* Remove palette buttons
* add settings preference
* Update MaterialKolor version to 1.6.1 to fix DynamicMaterialTheme & Add PalleteStyle
* split DynamicMaterialTheme content
* Missed text color in Tsumino & Cleanup & revert some unneeded changes
* Change icon color to secondary
* color for EditMangaDialog
* Custom Spinner's Dropdown style
* TextSelectionHandle color
* color for add-tag dialog
* setting for Style & Animate
* Palette does not support Hardware bitmap
* using MaterialTheme instead of DynamicMaterialTheme when no need for color animation
* reduce color on backdrop
* save/load manga's cover color & ratio with Preferences
* Trying to decode bitmap directly from response when coverCache is not available
* Update MangaCover.vibrantCoverColor map with new color
* Hide Style & Animate settings if theme-cover-based is not enable
* Only generate color if theme-cover-based is enabled
* seedColor by vibrantColor from MangaCover: setPaletteColor won't needed (almost), only when failed to load vibrantColor from MangaCover
* seedColor uses remember directly to the hashmap to recompose whenever cover is updated/changed. Drop successState.seedColor
* generate favorite manga's color every time, instead of just update ratio
* Move MangaCoverMetadata to coil
* using mangaDetailsRequest for relatedMangaListRequest
* rethrow exception if extension failed to get related mangas
* improve coroutine
* More like these
* Fix missing unique mess up LazyRow/LazyGrid order
- Showing What's New from all Github's release notes
- Add button to show What's Coming from Preview repo
- Add regex to styling Github's comparing link
(cherry picked from commit 06cfba58998fa7d1ff39be80770f16833f81409c)
* Faster loading of related entries
* Enable fetching related entries from site's entry page (things like "More like this", "Recommendations" etc.)
* Improve & fix bugs of algorithm looking for related entries
(cherry picked from commit 54d91c3f71557becd4fc22ec8500e05f79dc48d8)
- Preview version now name Beta, use different package & repo
- Drop syDebugVersion, use commitCount
- Fix Firebase analytics for both Release & Preview build
- Create separate variant for Preview build instead of using syDebugVersion
- Preview version showing changelog_debug.xml
- Release version showing changelog_release.xml
* Work in progress upcoming feature
* Checkpointing WIP upcoming feature
* Functional Upcoming Screen
* Rename UpdateCalendar to UpdateUpcoming
* Converted Strings to resources
* Cleanup
* Fixed detekt issues
* Removed Link icon per @AntsyLich's suggestion.
* Detekt
* Fixed Calendar display on wide form factor devices
* Added Key to upcoming lazycolumn
* Updated tablet mode UI to support two column view
* Updated header creation logic
* Updated header creation logic... again
* Moved stray string to resources
* Fixed PR Comments and query refactor
* Tweaks to query, refactored to flow, comments on calendar
* Switched to Date Formatter
* Cleaned up date formatter
* More Refactor work
* Updated Calendar to support localized week formats
* Fixed year format
* Refactored Header animation
* Moved upcoming FAQ
* Completed YearMonth Migration
* Replaced currentYearMonth with delegate
* Even more cleanup
* cleaned up alignment modifiers
* Click Handler and other refactors
* Removed Wrapped Content Height/Size/extra clips
* Huge Refactor for CalendarDay
* Another cleanup attempt
* Migrated to new mihon.feature.* module pattern
* changed access modifier
* A Bunch of changes from the next round of reviews
* Cleanups
* Cleanup 2
---------
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 72222ad86d6fb328d20eead86c6357833d08c061)
# Conflicts:
# app/src/main/java/eu/kanade/domain/DomainModule.kt
# gradle/libs.versions.toml
* Refactor the ExtensionRepoService to use DTOs
Slightly refactored the `ExtensionRepoService` so it uses a DTO with
`parseAs` to avoid parsing the JSON response by hand.
The default Json instance Injekt provides here has
`ignoreUnknownKeys` enabled, so the `ExtensionRepoMetaDto` only
specifies the meta key of the response content.
The extension function `toExtensionRepo` allows for mapping the new
DTO to the `domain` `ExtensionRepo` data class.
* Implement feedback
- Removed SerialName of the ExtensionRepoMetaDto property and renamed
it `meta`, same as the incoming attribute.
- Added a more general catch clause that also logs the occurring
Exception
Detekt likes to complain about TooGenericExceptionCaught, hence the
Suppress annotation on the function.
(cherry picked from commit 8c437ceecf3c5d8d944a70439d3549e21d751736)
* WIP Extension Repo DB Support
* Wired in to extension screen, browse settings screen
* Detekt changes
* Ui tweaks and open in browser
* Migrate ExtensionRepos on Update
* Migration Cleanup
* Slight cleanup / error handling
* Update ExtensionRepo from Repo.json during extension search.
Added Manual refresh in extension repos page.
* Split repo fetching into separate API module, major refactor work
* Removed development strings
* Moved migration to #3
* Fixed rebase
* Detekt changes
* Added Replace Repository Dialog
* Cleanup, removed platform specific code, PR comments
* Removed extra function, reverted small change
* Detekt cleanup
* Apply suggestions from code review
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
* Fixed error introduced in cleanup
* Tweak for multiline when
* Moved getCount() to flow
* changed getCount to non-suspend, used property delegation
* Apply suggestions from code review
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
* Fixed formatting with updated comment string
* Big wave of PR comments, renaming/other tweaks
* onOpenWebsite changes
* onOpenWebsite changes
* trying to make single line
* Renamed ExtensionRepoApi.kt to ExtensionRepoService.kt
---------
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 4b4e46851083c29ca412c114b1b96136fcc21442)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
# app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionApi.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
# data/src/main/sqldelight/tachiyomi/migrations/3.sqm
# Conflicts:
# app/src/main/java/eu/kanade/domain/extension/interactor/CreateExtensionRepo.kt
# app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionApi.kt
* feat: db changes to accommodate new syncing logic.
Using timestamp to sync is a bit skewed due to system clock etc and therefore there was a lot of issues with it such as removing a manga that shouldn't have been removed. Marking chapters as unread even though it was marked as a read. Hopefully by using versioning system it should eliminate those issues.
* chore: add new line.
* chore: remove isSyncing from Chapter/Manga model.
* chore: remove isSyncing leftover.
* chore: remove isSyncing.
* refactor: remove isSync guard.
Just use it directly to 1 now since we don't have the isSyncing field in Manga or Chapter.
* Lint and stuff
* Add missing ,
---------
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 4ae9dbe52487185ef9ee25f58fabe5025bb2278b)
# Conflicts:
# app/build.gradle.kts
# app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/MangaBackupCreator.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupChapter.kt
# app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupManga.kt
# data/src/main/java/tachiyomi/data/chapter/ChapterRepositoryImpl.kt
# data/src/main/sqldelight/tachiyomi/migrations/2.sqm
# domain/src/main/java/tachiyomi/domain/manga/model/MangaUpdate.kt
* Add custom thumbnail url. Support backup & restore
- add custom thumbnail url in edit info/custom
- include it in backup n restore
* increase chop char
* edit chop char again to match screenshoot
* tweak truncating middle part
* apply edited cover to history, updates , others
* simplify placeholder logic
---------
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
* replace the windowInsetsPadding for navigationBarsPadding + statusBarsPadding
* Enabling TYPESAFE_PROJECT_ACCESSORS
* Adding typesafe project accessors in the app module
* Adding typesafe project accessors in the core module
* Adding typesafe project accessors in the core-metadata module
* Adding typesafe project accessors in the data module
* Adding typesafe project accessors in the domain module
* Adding typesafe project accessors in the presentation-core module
* Adding typesafe project accessors in the presentation-widget module
* Adding typesafe project accessors in the source-local module
* Adding typesafe project accessors in the source-api module
* Rolling back
* Changing TYPESAFE_PROJECT_ACCESSORS line
* Removing extra spaces
(cherry picked from commit e17d87f35749715946a96dc0e654792227c6722d)
# Conflicts:
# settings.gradle.kts
- Accept full URL as input instead, which allows for non-GitHub
- Remove automatic CDN fallback in favor of adding that as an external repo if needed
(cherry picked from commit 9c899e97a97480545d022974ffd3ea1248634155)
# Conflicts:
# app/build.gradle.kts
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
Occurs if manga.lastUpdate has never been set yet.
(cherry picked from commit 22589a9c3056312dcbd0dfca08b53987cbc4a73d)
# Conflicts:
# app/src/main/java/eu/kanade/domain/chapter/interactor/SyncChaptersWithSource.kt