Closes#10257
We show a warning banner in the extensions list and also rely on the system
alert popup if someone attempts to install without the permission already
granted.
(cherry picked from commit f0710df35696c1f6cf7bb5371dfd6ad91d53fae1)
For home screen tabs, Navigator screens and most dialogs
(cherry picked from commit 9c120e623193271971448fb03665a73dff4f85cb)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt
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
- Local chapters are just always "downloaded", but you can't delete them from the app
- Unavailable sources show proper state so long as it's stubbed with the name still, but
you can't download anything new
(cherry picked from commit fca4f251227f983d8313eda546f35644692f39cb)
Seems to cause more confusion than it's worth.
Will update the UI for the library update skip options to better
explain what they're for later.
(cherry picked from commit bfb0d31ff61a6609cdf8ca421d08cbb4236fc5af)
- Show bar representation of used/total space
- Handle all mounted storages
- Also included a bunch of unrelated immutables changes, sorry
(cherry picked from commit f31bc47757b3792f92c2c8721739b5e2d91b825d)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsDataScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
# app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/data/cache/ChapterCache.kt
Related to #3136
(cherry picked from commit 83a67feb48c4e40994a334520c907f71d2fbf75e)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/backup/restore/BackupRestorer.kt
Should probably wait for sources to definitely be loaded first, but that's
sort of a bigger change and needs to be lifecycle-aware.
(cherry picked from commit e36a2c68f112f98155f5eea859a59a13cc22e168)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesScreen.kt
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
We already check in the settings screen where it's triggered, but who knows.
Also addressing some errors for method calls that require SDK 26+ (but don't
fail the build, somehow?).
(cherry picked from commit 1ef01b53f2e740b493e5a94cd4ac011ab25b3ace)
Can just open it and delete from whatever gallery app the user has which has way
more functionality.
Closes#8327
(cherry picked from commit 720169dce3b78e3c761e2c80c1fc6f6fab67b791)
- Opposite transition when going back a step
- Don't allow skipping (I don't want to deal with an unset storage location in other places)
(cherry picked from commit cc56fde9fe6408e5dca4c752acc2ba6478291cce)
Goes to tracker settings to log in if none are set up.
(cherry picked from commit 3a0b3de1754452cc0e10426c79820baa74d30b63)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt
Related to #8327
Deleting doesn't seem to do anything still, but at least doesn't throw an exception.
Also removed behavior of dismissing notification after sharing/deleting pages/backups
in case you want to do something again afterwards. Users can manually dismiss the
notification whenever they want.
(cherry picked from commit 1f259f92986c3e4c86d6068eec257f6bd32f69b4)
The system will crash the app if the worker that calls setForeground() finished
before the service runner be able to call Service.startForeground(). This edge
case is not handled by WorkManager and there is no way to check if the required
calls are done.
So here we suspend the worker by an arbitrary duration assuming the transition
to foreground service is done by then.
(cherry picked from commit 24e1b4034efe24cc042404e2237f01ca1f2cd9b3)
Mainly for migration process and to avoid breakage on users who doesn't
change their granular storage prefs.
(cherry picked from commit e5a22eafe72b701ed277d937a5c0f25d84a5eb25)
Need to convert some services into WorkManager jobs before going to 31 and higher.
(cherry picked from commit e22eebfd02e28eb260273d987d60c216aa4a2100)
Requires adjusting some file reading to first copy to a temporary file
in cache that we have permissions to read from. This is only applicable for things
like ZIP files where we need an actual File rather than just some Android content
URI shenanigans.
(cherry picked from commit 4fcdde4913df28bbd678ae1be4a2971ed77179d3)
# 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
# source-local/src/androidMain/kotlin/tachiyomi/source/local/LocalSource.kt
Which has more correct nullability for some methods and case insensitivity for listFiles where possible.
(cherry picked from commit a74a689c9048cc67f4854678fbfefa361631a5e7)
# Conflicts:
# app/src/main/java/eu/kanade/tachiyomi/data/download/Downloader.kt
# source-local/src/androidMain/kotlin/tachiyomi/source/local/image/LocalCoverManager.kt