* refactor(library): Store sectioned first before flattening it out
* fix: Fix build, also rename some variables and move stuff around
* chore: Replace findCurrentCategory with currentCategory getter
* fix: Empty category can't be collapsed
* chore: Disable file log for debug build
* fix: Entry always displayed on default category
* refactor: Specify id, source, and url directly from MangaImpl constructor
* refactor: Make LibraryManga not extend MangaImpl
* refactor: Separate placeholder from LibraryManga
* fix: Default category should always be at the very beginning
* fix: Accidentally made the entries invisible
* fix: Default category disappear everytime a new category is added
* refactor: Use Koin
An experiment, aims to ditch Injekt and replace it with Koin while providing Injekt API facade for extensions
* fix: Mimic "InjektScope"
* fix: Mimic more classes
Completely fixed source search
* refactor(deps): Use Injekt-Koin library
* fix(r8): Keep Koin
* fix(deps): "String index out of range" compile error
REF: https://github.com/icerockdev/moko-resources/issues/732
* refactor(i18n): Simplify gradle
* refactor: Migrate i18n files to moko-resources
Also split plurals to their own files
* fix: Only use firebase on releases
* revert: Revert "fix: Only use firebase on releases"
This reverts commit e4f40b450a.
* ci: Just build standard release
* refactor: Fully migrate to Moko Resources for i18n
Epic fail, not sure what happened, but I am sure that I don't want to spend the rest of the day debugging no error crash, I'll just try again later. It is what it is, I guess...
* starting workmanager updates
* Update Download service to download job
Also making downloader use suspend methods like upstream
Co-Authored-By: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
* Make BackupRestorer a job
* Make LibraryUpdateJob a datasync service type
* Changing Extension auto installer to a job instead of service
* Changing App auto installer to a job instead of service
With it theres no more services, and nearly ready to up the target sdk
* Add runtime permission for notifications
Shows permission when adding to library, seeing the app update in app prompt, or loading library or recents
Tries to show the permission again (or a warning message) when trying to restore a backup or set library update timing
Same warning messages shows when not allowing notifications
* Set target sdk to 33
we made it.
* Clean up ContextExtensions
* Add notification check for incognito mode
* Add last updated timestamp to updates job
* Update LibraryUpdateJob.kt
minor changes to the notifier's placeholder, and making sure it uses localeContext for versions under A13
* update channel logic in library updater
* Change library update channel to just take a Long instead a whole Manga
* Use extensionManager flow in ExtensionInstallerJob
* Update MainActivity.kt
* Fixes to downloadFlow
* reworking running extensions after library update logic
* Change update channel to shared flow in library job
* More updates to the library updates flow
no longer using a suspend, instead holding a buffer for the flow
* updates to the flow in extensionInstaller
from state to shared, also using "tryEmit" less for it
* Fix extension auto installing notification not dismissing/dismissable
* Version 1.7.0
* Update AppDownloadInstallJob.kt
* Refactor DownloadJob
* Version 1.7.0-b02
* Fix uninstalling extensions not refreshing the list
* Show notification permission prompt when pressing update all
* Chunked the extension install job in case too many extensions are being updated at once
The limit is around 62 extensions, but to be safe it runs 32 per job (which jobs still update 3 at a time)
Closes #1584
* Update Java Version
---------
Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
* Add back option to change app langauge
Courtesy of AndroidX/Appcompat
On Android 13, it uses the native methods (at least for now) Also adding locales config file to only list supported languages in android app info's setting
A bit about this for A12 and under, an app restart is needed right now when switching from LTR to RTL or vice versa, not sure if later versions of androidx app compat will change this
* stop using preference context for strings (when possible)
which fixes some of the language issues on a12 and under
* Fixes to timespanfromnow method
now respect set language
* Dont show langauge selector on android 6
it doesn't work so rip
* Filter out unsupported locales in language selector
* appcompat -> 1.6.0-beta01
* Set notifications to use app language
* Add beta tag to language
* Update ExtensionHolder.kt
junrar -> 7.5.0
firebase -> 20.1.2
acra-http -> 5.9.3
java-string-similarity -> 2.0.0
com.google.guava (added)
Same as upstream, been broken for a while