Commit graph

228 commits

Author SHA1 Message Date
Cuong-Tran
ff8d48bf4c Fix (PreferenceRestorer): correctly backup/restore preferences related to category 2025-02-14 12:21:26 +07:00
Cuong-Tran
235dec019d Fix (EXH): Migrate old source to new source for merge references 2025-02-14 12:21:26 +07:00
Cuong-Tran
4b8d0331f6
Merge branch 'release' 2025-02-13 22:55:28 +07:00
Cuong-Tran
d127ce9805
rename repo 2025-02-13 22:53:19 +07:00
Cuong-Tran
967bbe6c04
Merge branch 'release' 2025-02-01 13:36:27 +07:00
Cuong-Tran
9d2a030bf5
Remove extensions repo 2025-02-01 03:35:58 +07:00
Cuong-Tran
2e744ed5e9
built-in EH compatible with extension (#613)
* switch off integrated H to show E-H source & extension

* More languages for E-H/ExH, also more popular with rate 5

* Don't hide Multi source when toggle Integrated H

* Avoid crash trying to load ehentaiBrowseDisplayMode

* change source ID to matching general extension

* migration old source ID to new source ID

* Allow importing of EHentai extension backups

* limit library update & metadata source to only Multi lang

* update app version

* fix spotless

* also migrate saved search/feed & pinned EH/EXH source ID when restore from backup or update app
2025-01-26 02:20:06 +07:00
Cuong-Tran
af77a962c1
Drag to reorder feeds (#660) 2025-01-26 01:56:11 +07:00
Cuong-Tran
5fc9e202e8
Fast browsing (#612)
* BrowseTab: serialized data object must have readResolve

* simplify usage of bulk-selection select-all/reverse

* hide bulk-selection select-all/reverse

* fast browsing by avoid insert every entries into DB
2024-12-31 11:52:04 +07:00
Cuong-Tran
23d53a4560
Drag & Drop to reorder category quickly in Settings/Category screen (#508)
* drag to reorder Category list

* smaller padding

* cleanup code

* fix build
2024-12-31 11:26:40 +07:00
Cuong-Tran
c72ea1e1ac
Allow disable app auto-update 2024-12-28 17:56:37 +07:00
Cuong-Tran
f0cacc1650
cleanup duplicate random library sort mode 2024-12-25 15:41:43 +07:00
Cuong-Tran
a8c587829c
Auto install app update (#561)
* migrating

* - Fix Broadcaster
- Include Updater for Debug
- json to emulate Github call

* - resetup AppUpdateJob when changing settings
- Fix ACTION_MY_PACKAGE_REPLACED

* improve notification

* update icon

* app update to high important

* - Run auto install on AppUpdateJob
- Add release link to job

* idle state & network aware

* fix duplicated job start

* don't show notification & start job for peek-into-preview

* allow cancel auto update job when set to NEVER

* always notify on install complete

* rearm AppUpdateJob each time MainActivity already checked for update

* MainActivity checks every 2 days, rearm AutoUpdateJob in 3 days

* - fix install error notification ID
- add timeout for manual installation if package manager crash

* settings & spotless

* restriction settings & auto run download-install if not in restrictions

* clean up
2024-12-05 15:41:50 +07:00
Cuong-Tran
aea249ad96
remove preview-to-stable update 2024-11-06 20:48:41 +07:00
AntsyLich
3490273afe
Auto format extension repo URLs
Closes mihonapp/mihon#1392
Closes mihonapp/mihon#1393

(cherry picked from commit 22d8aad598bea8f00f2831779e45a6645392ca0f)
2024-11-01 10:37:52 +07:00
Cuong-Tran
fde71c0b70
Fix release update version checking & update release note template 2024-10-29 16:21:30 +07:00
Cuong-Tran
451fe433cf
Error screen (#462)
- A dedicated screen in Settings for error list when updating library
- Allow to jump to Error screen if click on notification
- Allow to migrate error entry
- Create error on each entry updated instead of waiting for the whole updating list to finished
- Overwrite entry's error if new error happens after updating
- Clear entry's error if it successfully updated
- Clear un-relevant errors (entry which was removed from Library) on next update
- List of errors can jump to top/bottom or next/previous errors group
- Won't create error file anymore

* Added library update errors screen

(cherry picked from commit 7cf37d52f959ac65f53cf7657563fb4428bd9188)

* Open library update errors screen on clicking library update error notification

(cherry picked from commit d2d22f437a1d61b086f1e19dfbcd2c0a2bc125f4)

* LibraryUpdateErrorScreen's bottom UI with scroll to top/bottom buttons

(cherry picked from commit 859ce54474d456232510e21f4f6795af65489be2)

* migrate to AppBar

* sticky header

* scroll to next/previous group of errors

* insert error entry one by one

* delete error from DB when successfully updated

* clean un-relevant errors from DB on every updates

* fix errors & clean up

* catch exception & fix notification intent

---------

Co-authored-by: ImaginaryDesignation <108343184+ImaginaryDesignation@users.noreply.github.com>
2024-10-28 23:12:14 +07:00
Cuong-Tran
6fd67bd240
show all entries going to be checked for Smart update on Upcoming screen 2024-10-23 14:19:45 +07:00
Roshan Varughese
f839334c1c
Add option to backup non-library read entries (mihonapp/mihon#1324)
Co-authored-by: jobobby04 <jobobby04@gmail.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit de36357da834bff4110dbb56dd7ce7aad04d3c7d)

(cherry picked from commit 943555c0af49b48abaa18a47395e5516f3357bae)
2024-10-23 13:08:42 +07:00
Jack Hamilton
dacea90f10
Added random library sort (mihonapp/mihon#1317)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit a72db41bf1746db095fd27bbbce9765c06453581)
2024-10-23 13:08:41 +07:00
Cuong-Tran
147a36a709
feat(ui): Panorama cover
* support panorama cover

* bigger panorama cover size in GlobalSearchCardRow

* setting to enable/disable

* panorama cover for History items

* Keep panorama cover position in Library View centered for better visual

* fix: update ratio in Detail page if cover doesn't reload anew

* adjust ratio to switch to panorma

* panorama cover for Migration items

* center panorama cover & add dominant background color

* panorama cover for EditMangaInfo

* Fix size on GlobalSearchCardRow

* display mode for manual panorama cover

* Fix LibraryFlagsTest
2024-09-27 11:58:16 +07:00
Cuong-Tran
b10fe0fc15
Default disable Integrated hentai features 2024-09-23 12:50:22 +07:00
Cuong-Tran
a4a18361c9
enable hidden categories by default 2024-09-23 12:49:23 +07:00
Cuong-Tran
ef58951bac
feat: feed reorder screen (#356)
* feat: Add screen to reorder Feeds

* refactor: Update icons/title and add preview for FeedOrderListItem

* refactor & cleanup

* feat(source): Add functionality to reorder feeds in source feed screen.

* feat: Add sorting functionality to source feed order screen

* refactor: Update SourceFeedScreen AppBar buttons

* refactor: Reuse FeedDeleteConfirmDialog and FeedSortAlphabeticallyDialog

* refactor: Reuse FeedOrderListItem
2024-09-18 13:54:43 +07:00
kana-shii
ba43e5584c
disable smart-update for individual & fix custom interval (#318)
* set custom disabled interval

* fix wrong calculation of nextUpdate when setting custom fetchInterval

---------

Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com>
2024-09-13 00:48:13 +07:00
Cuong-Tran
6c9dfb82f4
feat: Hidden categories (#348)
* support hide categories (merged from Aniyomi)

* styling CategoryScreen: always showing all categories & shading the hidden one

* Hide categories directly on Library tab and load it as a flow

* fix: hidden categories got reset after delete/reorder

* remove unnecessary code
2024-09-11 18:06:37 +07:00
Smol Ame
8845c2c317
Enable 'Split Tall Images' by default (mihonapp/mihon#1185)
(cherry picked from commit 9c1905ede750f0229fad1a01431058b1cc9fb32d)
2024-09-04 19:07:51 +07:00
Dani
10d155b9a0
Support skip-downloading-duplicate-read-chapters for merged entries
(cherry picked from commit e19c62a8aef2203eb287ef2f450c95b642f7f2f0)
2024-09-04 17:22:29 +07:00
AntsyLich
6d78d96850
Add stable marker to Manga data class
Co-authored-by: ivan <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit 4ee31bfea5b6908e7131e2c46e4cb46155005abf)
2024-09-04 16:27:35 +07:00
Tran M. Cuong
228abc31c4
feat: allow ext from multiple repos & show their name (#294)
* show repo name

* Fix Obsolete status when disable/enable repo

* find extension's repo correctly using pkgName together with signature

* Don't filter out extension with same pkgname from different repo (signature)

* Preview

* Revert "Update CrashLog to include Unofficial ext’s info"

This reverts commit 7c11ddfc1e.

* remove Unofficial status

* show repo's short name if possible
2024-08-26 12:56:14 +07:00
Tran M. Cuong
2536e5a77e
Remove built-in Komikku repo (#286)
* Add Help to Repo EmptyScreen

* Migration: insert Official Repo for old users

* button to auto fill official KMK extension repo

* 'More extensions' button to go to Repo page

* Remove default official repo

* fix spotless
2024-08-26 00:08:38 +07:00
Dani
94acbb08d7
Add option to skip downloading duplicate read chapters (mihonapp/mihon#1125)
* Add query to get chapter count by manga and chapter number

* Add functions to get chapter count by manga and chapter number

* Only count read chapters

* Add interactor

* Savepoint

* Extract new chapter logic to separate function

* Update javadocs

* Add preference to toggle new functionality

* Add todo

* Add debug logcat

* Use string resource instead of hardcoding title

* Add temporary logcat for debugging

* Fix detekt issues

* Update javadocs

* Update download unread chapters preference

* Remove debug logcat calls

* Update javadocs

* Resolve issue where read chapters were still being downloaded during manual manga fetch

* Apply code review changes

* Apply code review changes

* Revert "Apply code review changes"

This reverts commit 1a2dce78acc66a7c529ce5b572bdaf94804b1a30.

* Revert "Apply code review changes"

This reverts commit ac2a77829313967ad39ce3cb0c0231083b9d640d.

* Group download chapter logic inside the interactor GetChaptersToDownload

* Update javadocs

* Apply code review

* Apply code review

* Apply code review

* Update CHANGELOG.md to include the new feature

* Run spotless

* Update domain/src/main/java/mihon/domain/chapter/interactor/FilterChaptersForDownload.kt

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit ca968f162ef7a61a9036b7ab9bea407a6334801d)
2024-08-26 00:08:38 +07:00
kana-shii
266f449614
Smart updates fix (#268)
* Allow check completed entries for update if un-tick option "Skip completed..."
* Always predict next-release date for all entries, even if it's completed.
2024-08-26 00:08:38 +07:00
Cuong-Tran
48d874342e
Address more spotless lint errors from KMK & SY 2024-08-26 00:08:37 +07:00
AntsyLich
e7ca892f65
Address spotless lint errors (mihonapp/mihon#1138)
* Add spotless (with ktlint)

* Run spotlessApply

* screaming case screaming case screaming case

* Update PagerViewerAdapter.kt

* Update ReaderTransitionView.kt

(cherry picked from commit d6252ab7703d52ecf9f43de3ee36fd63e665a31f)
2024-08-26 00:08:37 +07:00
AntsyLich
335f0956b4
Remove detekt (mihonapp/mihon#1130)
Annoying. More annoying in this project.

(cherry picked from commit 777ae2461e1eb277a3aa0c998ff69e4f100387a1)
2024-08-26 00:08:37 +07:00
Tran M. Cuong
8c6cca09a4
feat (ui): source language flags (#272)
* 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
2024-08-26 00:07:56 +07:00
Tran M. Cuong
29eeccad1b
feat (ui): showing source icon in library (#261)
* 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
2024-08-19 12:50:16 +07:00
Tim Schneeberger
8fe7dcb167
feat(migration): add option to only show entries with new chapters (jobobby04/TachiyomiSY#1238)
(cherry picked from commit f7202e67cc3452676f5e2532015741811cd505bb)
2024-08-12 23:55:23 +08:00
Tran M. Cuong
c6165c3c51
feat: change feed's order (#220)
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
2024-08-04 03:02:19 +07:00
Tran M. Cuong
050c661c9e
progress-banner (#163)
* feat: banner showing updating status

* showing progress for updating

* showing progress for syncing & backup restoring too

* preferences for progress banner
2024-07-09 15:00:37 +07:00
Cuong-Tran
7c63f84f5f feat: Add support for backing up and storing source's feeds along with saved searches 2024-07-05 10:37:43 +07:00
Tran M. Cuong
ddc7801436
update cover color state when set cover in reader 2024-06-20 18:54:32 +07:00
Cuong-Tran
fdefea9af2
add KMK comment 2024-06-19 22:43:20 +07:00
Tran M. Cuong
cb705a87c0
Fix ApplicationReleaseTest 2024-06-17 20:59:53 +07:00
Tran M. Cuong
fbc1e3b227
Fix LibraryFlagsTest failed because commit b6baac90dc
Sun Apr 16 23:35:46 ICT 2023	Jobobby04	Fix library sort not using tag sort
2024-06-17 19:56:38 +07:00
Tran M. Cuong
7a99a9a9b5
add KMK comment 2024-06-16 20:15:50 +07:00
Cuong M. Tran
753285275f
Improve Theme cover based (#81)
* 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
2024-06-12 18:22:44 +07:00
AntsyLich
73dcdd230b
Fix chapter number parsing when number is after unwanted tag
Fixes mihonapp/mihon#554

Co-authored-by: Naputt1 <94742489+Naputt1@users.noreply.github.com>
(cherry picked from commit 6a80305d6c572da6c08c0c69f5c25ff26ecf7383)
2024-06-10 13:26:25 +07:00
Cuong M. Tran
0a7f828d77
Feature: details page's theme based on cover (#41)
* 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
2024-06-04 00:18:49 +07:00
Cuong M. Tran
6876d82982 Fix Related Mangas (#29)
* 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
2024-05-23 11:02:49 +07:00
Cuong M. Tran
7f567eaad2
What's New & Preview peeking
- 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)
2024-05-19 02:52:52 +07:00
Cuong M. Tran
bdd8a652c2
A dedicated screen for related entries, fetching directly from sources
* 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)
2024-05-19 02:52:52 +07:00
Cuong M. Tran
1eefa745ea
Updater: similar to Mihon
- 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
2024-05-08 11:55:10 +07:00
Cuong M. Tran
c0a3c7465c
Fix getRelatedMangaList error message when source is not installed 2024-05-01 23:39:14 +07:00
Maddie Witman
ffed74b74c
New Feature: Introduce Upcoming page to Mihon (#420)
* 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
2024-04-26 11:35:15 +07:00
AntsyLich
c64ff6c93d
Fix mishap in e020ae5ed558e80742ef0ad8bfa0f69af0959d5a
(cherry picked from commit 6965e59a643c67a2bf81b3c69ec70268e5da5797)
2024-04-26 11:35:15 +07:00
AntsyLich
e258770407
Fix more TypeReference issues and cleanup
(cherry picked from commit e020ae5ed558e80742ef0ad8bfa0f69af0959d5a)
2024-04-26 11:35:15 +07:00
MajorTanya
4ffdc2d426
Fix extension repo crash with TypeReference issue (#574)
Fix by @AntsyLich.

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 05071b420572a8fa93a55ab02c743c7da4fd3b3a)
2024-04-26 11:35:15 +07:00
MajorTanya
e72343d55a
Refactor the ExtensionRepoService to use DTOs (#573)
* 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)
2024-04-26 11:35:15 +07:00
Maddie Witman
93f9bc02d0
Grab extension repo detail from repo.json and include in DB (#506)
* 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
2024-04-26 11:35:14 +07:00
AntsyLich
6a6a9dac9c
Fix crash in track date selection dialog
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
(cherry picked from commit f08713587685ddb27cb8ce7184e2dd21ae7968ae)
2024-03-29 11:56:21 +07:00
KaiserBh
caec0afcb1
feat: db changes to accommodate new cross device syncing logic. (#450)
* 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
2024-03-29 11:56:12 +07:00
Jobobby04
95250670dc
Fix multiple issues regarding sources loading too late 2024-03-29 11:56:12 +07:00
Cuong Tran
f6dcb2431f
download’s cache renew interval configurable 2024-03-18 14:31:33 +07:00
Jobobby04
960b9a5b3c
Fix crashes related to MangaCover 2024-02-19 17:54:44 +07:00
Luqman
65c3c07645
Add custom Thumbnail Url. Support backup & restore (#1059)
* 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>
2024-02-19 17:54:44 +07:00
Luqman
65fdf75a19
add toggle to auto mark read dupe chapter (#1078)
* add toggle to auto mark read dupe chapter

https: //github.com/tachiyomiorg/tachiyomi/pull/9662
Co-Authored-By: Trace <49712094+traceltrc@users.noreply.github.com>

* Update LibraryUpdateJob.kt

---------

Co-authored-by: Trace <49712094+traceltrc@users.noreply.github.com>
2024-02-19 17:54:44 +07:00
AntsyLich
d126f2779f
Move :core to :core:common
(cherry picked from commit aa498360db90350f2642e6320dc55e7d474df1fd)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/domain/base/BasePreferences.kt
#	app/src/main/java/eu/kanade/domain/chapter/interactor/SetReadStatus.kt
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/Migrations.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/SourceFilterDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderViewModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ChapterLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/RarPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ZipPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewerAdapter.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/CrashLogUtil.kt
#	core/common/src/main/kotlin/eu/kanade/tachiyomi/util/storage/CbzCrypto.kt
#	data/src/main/java/tachiyomi/data/manga/MangaRepositoryImpl.kt
#	data/src/main/java/tachiyomi/data/source/SourcePagingSource.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
#	domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
#	settings.gradle.kts
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/online/HttpSource.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt
2024-02-19 17:54:43 +07:00
Cuong M. Tran
1b54a5dd10
transfer repo to komikku-app 2024-02-19 14:52:22 +07:00
AntsyLich
066660a743
Remove usage of .not() where possible
# Conflicts:
#	app/src/main/java/eu/kanade/domain/extension/interactor/GetExtensionsByType.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
2024-02-08 00:25:30 +07:00
Cuong M. Tran
6a7db7b2e4
Feed: will get Popular if source doesn’t support Latest 2024-01-31 16:03:01 +07:00
Cuong M. Tran
d38b148915
Change update repo 2024-01-28 23:44:37 +07:00
arkon
80d64bc031 Add filter library by customized update frequency
Supersedes #9619

Co-authored-by: quangkieu <quangkieu@users.noreply.github.com>
(cherry picked from commit 028da099ddf42b8b305afad04aba5f819a8ce24c)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
2024-01-09 18:52:07 -05:00
arkon
ef443e63a8 Fix selecting custom fetch interval not persisting sometimes
(cherry picked from commit e6c6c32d811349a2524f8ffe5bfc4a0c2d7d9679)
2024-01-09 18:52:06 -05:00
arkon
1ec0a22e37 Clean up external repos
- 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
2024-01-09 18:51:37 -05:00
arkon
24a56a5529 Support external repos
Largely taken from SY.

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
(cherry picked from commit c17ada2c98041877ab901efb9b03497130ead34a)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/source/interactor/CreateSourceRepo.kt
#	app/src/main/java/eu/kanade/presentation/browse/ExtensionDetailsScreen.kt
#	app/src/main/java/eu/kanade/presentation/category/SourceRepoScreen.kt
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	app/src/main/java/eu/kanade/presentation/category/components/repo/SourceRepoContent.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsBrowseScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt
#	app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
2024-01-09 18:51:30 -05:00
arkon
b677f81fb1 Change fetch interval action to show days until next expected update
(cherry picked from commit 32bed9b041d76a6bac699c56c78d1692b71dfc0b)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/manga/MangaScreen.kt
#	domain/src/main/java/tachiyomi/domain/manga/model/Manga.kt
2024-01-09 18:50:52 -05:00
arkon
6398f92518 Fix next expected update being weird number sometimes
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
2024-01-09 18:50:42 -05:00
Jobobby04
25f94e4500 Fix merged manga chapters and merged manga filtered scanlators 2023-12-27 16:30:56 -05:00
arkon
d82b2919f8 Move backup models back to main app module
I didn't realize the package name change would break compatibility with forks
that still have the old package names...

(cherry picked from commit 4b208fc7ce95fb3b3746446da54351bcead0533c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/MangaBackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupFlatMetadata.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupMergedMangaReference.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/BackupSavedSearch.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchMetadata.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchTag.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/models/metadata/BackupSearchTitle.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt
2023-12-27 13:59:15 -05:00
arkon
0dc3b37e70 Minor tracking cleanups
(cherry picked from commit 6887d98f15b4b9a84230217800fba2d4ae5b186a)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/track/interactor/TrackChapter.kt
2023-12-25 19:38:14 -05:00
arkon
a96cff950a Move backup models to domain module
(cherry picked from commit 5908bd19305b3461165fcfe2da5d2217115562b9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/BackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/create/creators/MangaBackupCreator.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/restorers/MangaRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/di/AppModule.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/Backup.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupFlatMetadata.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupManga.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupMergedMangaReference.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/BackupSavedSearch.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/metadata/BackupSearchMetadata.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/metadata/BackupSearchTag.kt
#	domain/src/main/java/tachiyomi/domain/backup/model/metadata/BackupSearchTitle.kt
2023-12-25 19:33:22 -05:00
Jobobby04
c36d2794bb Minor cleanup 2023-12-24 14:39:39 -05:00
arkon
311ffd6c7c Use smaller window to calculate fetch interval if there's less total chapters
This is sort of a workaround for sources that tend to only give you the first few and
most recent few chapters, which would have been 28 day intervals before due to
the big gap in the middle.

(cherry picked from commit b9fd416fc665fdb07c11ebeb13e3dbf918dfe479)
2023-12-24 14:05:56 -05:00
arkon
98900bc960 Clean up history restoring
(cherry picked from commit 5fec881387d1d4b5dda19b4a58e103bf60ef4a59)
2023-12-24 13:36:55 -05:00
arkon
b0d7a611f7 Fix download indexing with changed storage locations
Fixes #10218

(cherry picked from commit 36f400d54281dd697f1492befc8241eaf31e31ab)

# Conflicts:
#	app/build.gradle.kts
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
2023-12-24 13:29:46 -05:00
arkon
9eb99fb10f Clean up manga restoring logic
Some behavior changes:
- It prioritizes new entries, then anything more recently updated
- It copies the more recently updated entry's metadata (description, thumbnail, etc.)

(cherry picked from commit 58daedc89ee18d04e7af5bab12629680dba4096c)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupRestorer.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaExtensions.kt
2023-12-24 13:25:45 -05:00
arkon
314eb0a02e More onboarding screen additions 2: Electric Boogaloo
(cherry picked from commit f7c5b4243533374f6751055fd4bc037e022db8a8)

# Conflicts:
#	app/build.gradle.kts
2023-12-24 12:49:54 -05:00
arkon
364e4fe41b Migrate to some newer date/time APIs
(cherry picked from commit ab9a26f6bd2855d13ff663cf52dfe4ecb01fda1d)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateJob.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateDialog.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
#	domain/src/main/java/tachiyomi/domain/updates/interactor/GetUpdates.kt
2023-12-24 12:47:39 -05:00
Jobobby04
7e6d1196ac Use StorageManager for Exh logs 2023-12-23 23:41:24 -05:00
arkon
ab57dd7def Actually use configured storage location for local source
Fixes #10178

(cherry picked from commit 27c4db752ce599a99876021c1019cfb549153a30)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
2023-12-23 23:23:40 -05:00
arkon
927c94041e Use UniFile for local source file handling
(cherry picked from commit ca5498434409d4085c404f4ff5ed5e608f430a3b)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/RarPageLoader.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ZipPageLoader.kt
#	core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt
#	source-local/src/androidMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt
#	source-local/src/commonMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt
2023-12-23 23:22:07 -05:00
arkon
b23e269ac6 Move automatic backups from /backup/automatic to /autobackup
Removes the need to try to create child folders, which simplifies things.

(cherry picked from commit f365b53a0fbfb6f4147c688416e101aee9bae7fc)
2023-12-23 22:52:05 -05:00
arkon
27c7154cdb Exclude some more app state preferences from backups
(cherry picked from commit bcc42dd259cd528641ae4963b9b6ef290332bb27)

# Conflicts:
#	app/build.gradle.kts
2023-12-23 22:48:49 -05:00
arkon
59c5484a15 Use unified storage location for automatic backups
(cherry picked from commit 1fbf8ca0790bcf2177e6f8850b51b9fb43c66d6e)
2023-12-23 22:44:53 -05:00
arkon
a37da0d1b7 Add unified storage location setting
Currently only using it as a replacement for the downloads location.

(cherry picked from commit 695813ef7d922bc3d9ad5bccef8a466075caa57b)
2023-12-23 22:44:44 -05:00
arkon
5f84cfdd7c Remove max automatic backups setting
We just always create up to 4 now to simplify it, given the addition of syncing
is going to make this section pretty busy.

(cherry picked from commit e3b70ca08d1c5a09a448891ff66102fd696d7098)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupCreator.kt
2023-12-23 22:44:08 -05:00
Jobobby04
16d433973c Finish migration to moko resources 2023-12-23 22:40:54 -05:00
arkon
5d565f436f Minor cleanup
(cherry picked from commit 4a6571d310ecf2bf77e86a303f1788aaaab3df25)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/di/AppModule.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/SourceExtensions.kt
#	app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaExtensions.kt
2023-12-23 18:36:30 -05:00