Commit Graph

4704 Commits

Author SHA1 Message Date
Ivan Iskandar
02b3718aa1
Use Compose's existing method to get plural string (#8194) 2022-10-13 22:21:19 -04:00
arkon
26a42ba9c0 Upgrade to Kotlin 1.7.20
Also run formatter and address some deprecation warnings.
2022-10-11 22:40:08 -04:00
stevenyomi
b1e104319f
Fix download progress indicator (#8188) 2022-10-11 22:17:45 -04:00
Platiplus
a3afb35539
Overwrite saved images instead of creating new ones (#8162)
* Implementing overwrite instead of saving duplicated images

* Using filename instead of hardcoding image type

* Refactoring method to accept lambda for default value

* Removing extra parenthesis
2022-10-11 08:20:30 -04:00
Ivan Iskandar
fba244423f
Fix Scrollbar when the list contains sticky header (#8181)
* Fix Scrollbar when the list contains sticky header

* Fix VerticalFastScroller when the list contains sticky header

* exposé
2022-10-10 11:59:01 -04:00
Ivan Iskandar
8500add09f
EmptyScreen: Compose-ify and apply content padding (#8177)
* Apply content padding to empty screen

except the empty screens in browse

* compose-ify EmptyScreen

* center face when action show

* fix padding

* apply content padding to browse tabs

* fix duplicate bottom insets
2022-10-09 15:52:56 -04:00
arkon
23bfa1f18f Minor UI fixes
- Remove M3 styling from search toolbar
- Use secondary alpha for subtitles for Sources and Migrate items
- Update some content descriptions
2022-10-09 15:49:32 -04:00
arkon
b4f2da12ea Bring back overscroll in SwipeRefresh for A12+
It's more consistent with the rest of the overscroll behaviour in the app. We'll wait for the upstream fix.
2022-10-09 15:37:48 -04:00
arkon
b84a31ba92 Don't wrap tab pills
It may sometimes overlap the text a bit, but it's less awkward than wrapped pills
2022-10-09 11:51:32 -04:00
arkon
d0950cb026 Document copied M3 component customizations 2022-10-09 11:48:46 -04:00
stevenyomi
404f53b16b
Refactor SwipeRefresh and fix some issues (#8169) 2022-10-09 11:20:43 -04:00
zbue
737d0fb8f3
RemoveMangaDialog: Show manga title in dialog message (#8163) 2022-10-09 10:56:31 -04:00
arkon
b95a30e424 Fix linting error 2022-10-09 10:54:54 -04:00
arkon
3bfbd58402 Clean up download state logic in MorePresenter 2022-10-09 10:37:44 -04:00
d-najd
50f959e5f4
Hiding the keyboard (#8160)
* Hiding the keyboard (#8157)

* Cleanup

* Adding log

* cleanup

* moving code to ViewExtensions.kt

* TrackDialog keyboard fix?

* moving  code to ContextExtensions.kt

* MoreScreen: Remove title (#8158)

* MoreScreen: Remove title

Also removes the state banners as it's redundant

* Add back banners

* Allow manual selection of manga description instead of copying to clipboard

Closes #6548

Notably missing some "standard" options like "Select all" or "Share": https://issuetracker.google.com/issues/226648919

* Allow marking partially read chapters as unread

Closes #3777

* Tablet UI edge-to-edge tweaks (#8159)

* LibraryScreen: Tweak content padding application to draw under nav bar

* BrowseScreen: Tweak content padding application to draw under nav bar

Side note the tab content doesn't actually use its
scaffold (bottom) contentPadding so it's definitely will
be a headache in the future.

* Don't hardcode bottom nav padding

* removed unnecessary import

* refactoring code

* rewriting code

* cleanup?

* cleanup

Co-authored-by: Ivan Iskandar <12537387+ivaniskandar@users.noreply.github.com>
Co-authored-by: arkon <eugcheung94@gmail.com>
2022-10-08 17:12:09 -04:00
Ivan Iskandar
4b4be58d0d
Tablet UI edge-to-edge tweaks (#8159)
* LibraryScreen: Tweak content padding application to draw under nav bar

* BrowseScreen: Tweak content padding application to draw under nav bar

Side note the tab content doesn't actually use its
scaffold (bottom) contentPadding so it's definitely will
be a headache in the future.

* Don't hardcode bottom nav padding
2022-10-08 13:28:09 -04:00
arkon
4bba7a8bab Allow marking partially read chapters as unread
Closes #3777
2022-10-08 13:26:25 -04:00
arkon
60bcebe4d1 Allow manual selection of manga description instead of copying to clipboard
Closes #6548

Notably missing some "standard" options like "Select all" or "Share": https://issuetracker.google.com/issues/226648919
2022-10-08 12:57:55 -04:00
Ivan Iskandar
cf6407c4d4
MoreScreen: Remove title (#8158)
* MoreScreen: Remove title

Also removes the state banners as it's redundant

* Add back banners
2022-10-08 10:24:50 -04:00
Andreas
dcd5541e96
Fix filter search not triggering when clicking genre from Manga details (#8156) 2022-10-08 09:48:19 -04:00
arkon
7be6863910
Add JavaScriptEngine abstraction to extensions-lib (#8155)
This allows us to swap out the implementation in the future and on different platforms
without major changes to the extensions themselves.
2022-10-08 09:45:06 -04:00
arkon
caf9219d99 Reword some reader settings 2022-10-05 09:26:42 -04:00
Ivan Iskandar
3b62396442
Setup Baseline Profile (#8135)
* Setup Baseline Profile

Adds Baseline Profile generator and startup time test.
Readme included in macrobenchmark module to run the generator.

* changes
2022-10-04 09:22:55 -04:00
AntsyLich
bbe1608006
Show correct language string in browse screens (#8136) 2022-10-03 23:05:37 -04:00
Alessandro Tedesco
b8fa326c21
Fix sort by date in LibraryPresenter (#8137) (#8145)
Co-authored-by: Alessandro Tedesco <alessandro.tedesco@zehus.it>
2022-10-03 23:03:43 -04:00
Ivan Iskandar
1cf1b34e7f
Fix regular scrollbar (#8139)
At some point the scrollbar stops responding to
scroll changes. Not too confident with this fix
but it works.
2022-10-03 23:03:33 -04:00
stevenyomi
ff4fb83bff
LocaleHelper: use argument for a when expression (#8131) 2022-10-02 10:08:12 -04:00
arkon
0ca14c61c2 Explicitly reword some locale names
Avoiding some country names in favour of more generic terminology where appropriate.
2022-10-01 23:54:54 -04:00
arkon
6be9cccc7a Revert min extension-lib change
Some extensions haven't been bumped yet. We should probably try to bump everything at some point.
Also includes some minor cleanup.
2022-10-01 13:24:38 -04:00
arkon
db3cbac310 Stop loading extension-lib <= 1.2 2022-10-01 11:34:46 -04:00
AntsyLich
de23226591
Add methods to get manga and chapter url (#8114)
* Add methods to get manga and chapter url

Some fork supports directly opening chapters with webview hence `getChapterUrl`

* Review Changes

* Add since to javadoc
2022-10-01 11:31:07 -04:00
AntsyLich
ea8383978b
Move LibraryManga to domain layer (#8126) 2022-10-01 11:30:51 -04:00
AntsyLich
b04d1e5f50
Reduce some usages of toDbManga (#8116)
Co-Authored-By: stevenyomi <95685115+stevenyomi@users.noreply.github.com>

Co-authored-by: stevenyomi <95685115+stevenyomi@users.noreply.github.com>
2022-10-01 11:01:25 -04:00
AntsyLich
98c459a6b6
Downloader: Don't trust index provided by source (#8122) 2022-10-01 11:01:05 -04:00
AntsyLich
00f442b77e
Don't download completely read chapter if it was in queue (#8113) 2022-10-01 10:58:13 -04:00
Ivan Iskandar
42b0e3e438
HistoryScreen: Remove paging (#8125)
* HistoryScreen: Remove paging

Per my testing performance-wise there's virtually no
difference in loading time.

* cleanups

* add key and contentType
2022-10-01 10:50:25 -04:00
arkon
8d1f99a480 Update Proguard rules to handle serializers in all modules
Fixes #8112
2022-10-01 10:47:45 -04:00
AntsyLich
5c22cbf28e
Remove mangaChapterMapper (#8124)
Was used by updates screen previously
2022-10-01 10:33:03 -04:00
Andreas
488276d498
Tweak library search to allow for searching with source language suffix (#8123) 2022-10-01 10:32:52 -04:00
Andreas
6ac17363ed
Tweak behavior on Browse screen (#8121)
* Tweak behavior on Browse screen

- Fix system back popping controller
- Add behavior to system back to cancel search toolbar before clearing current search or popping controller

* Review changes
2022-10-01 10:32:41 -04:00
Ivan Iskandar
58c47c4c50
ExtensionScreen: Adjust item visual (#8120)
* ExtensionScreen: Adjust item visual

* Move install status view and add progress indicator
* Add secondary item modifier to info texts
* Wrap info texts with FlowRow in case of unavailable space
* Remove language text in non-installed items

Extra content:
* Change the list key to be more consistent
* General cleanups

* typo
2022-10-01 10:32:08 -04:00
Shamicen
80b2ebc45b
Fix ComicInfo.xml not being read if .noxml file exists too (#8111)
* gives ComicInfo.xml files priority over noxml files if both are at the chapter root.

* delete the noxml file if both a noXml file and a ComicInfo file exist
2022-09-30 23:41:40 -04:00
AntsyLich
ef2c9460b5
Fix total item count in library app bar (#8117) 2022-09-30 23:36:23 -04:00
AntsyLich
ad84a8c3e9
Improve DelayedTrackerStore (#8109)
* Improve DelayedTrackerStore

* Review changes
2022-09-29 09:20:07 -04:00
Ivan Iskandar
6b1d597d34
MangaScreen: Adjust insets (#8097)
I should have done this when Scaffold was rebased
2022-09-27 22:20:10 -04:00
Alessandro Jean
5a37f2398a
Improve search toolbar UX a little bit (#8102)
* Improve search toolbar UX a little.

* Fix wrong stringResource import.

* Revert `FocusRequester` change in favour of #8093.
2022-09-27 18:05:10 -04:00
Ivan Iskandar
98a4f6cccb
manga-refresh-state (#8090) 2022-09-27 17:49:21 -04:00
Ivan Iskandar
633bd6eb46
UpdatesScreen: Fix selection state after deleting download (#8100) 2022-09-27 17:44:41 -04:00
Ivan Iskandar
f19c288bec
Fix missing focus when single TextField shown (#8098) 2022-09-27 17:44:06 -04:00
arkon
56722140c9 Add a proguard rule for XMLUtil
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2022-09-26 17:28:22 -04:00
arkon
e90b39b29d Use more unique item keys
Should make stacktraces more distinguishable.
2022-09-26 17:23:08 -04:00
stevenyomi
f4c684b4b8
Remove cache control on already cacheless image request (#8085) 2022-09-26 17:13:03 -04:00
arkon
ec272f6c4e Fix date added when adding from browse source
Fixes #8059
2022-09-25 13:09:25 -04:00
arkon
db91d04e82 Temporarily replace library category tabs divider with our own
Fixes #7789
2022-09-25 10:50:02 -04:00
arkon
9859b38f32 Ellipsize long titles
Fixes #8075
2022-09-25 10:18:50 -04:00
Ivan Iskandar
0190c36d20
BrowseSourceScreen: Adjust browse mode chips placement (#8076)
The chips row is now scrollable too and filter fab is removed
2022-09-25 10:15:01 -04:00
Alessandro Jean
ba533f30ce
Add support to update strategy on global update (#7902)
* Add support to update strategy.

* Add JavaDoc and bump the LIB_VERSION_MAX constant.

* Fix a word typo.

* Store update strategy enum as integer in the DB.
2022-09-25 10:12:36 -04:00
Andreas
29fa93e829
Split the rest of the preferences in PreferencesHelper (#8074)
* Split the reset of the preferences in PreferencesHelper

* Capitalize ThemeMode
2022-09-25 10:07:06 -04:00
Ivan Iskandar
0fabe4bd01
GlobalSearchController: Auto focus search view when initial query is empty (#8073) 2022-09-25 08:53:34 -04:00
Ivan Iskandar
f98b4f4e39
DownloadController: Fix first active download status not updating (#8069) 2022-09-24 11:59:11 -04:00
Ivan Iskandar
467ceacb17
SecureActivityDelegate: Fix cold-start only lock behavior (#8066) 2022-09-24 10:46:35 -04:00
stevenyomi
4b4a138eee
Improve chapter recognition (#8050) 2022-09-24 10:29:55 -04:00
Andreas
b5dca2eb09
Move chapter preferences from PreferencesHelper to LibraryPrefrences (#8061) 2022-09-24 10:14:16 -04:00
Andreas
d3520419d4
Clear search query before popping controller when navigating up (#8055) 2022-09-22 22:30:28 -04:00
Andreas
acb8ab15b2
Recreate reader settings when opening sheet (#8054) 2022-09-22 22:29:15 -04:00
Andreas
5cdcc1679f
Split backup preferences from PreferencesHelper (#8051) 2022-09-22 08:57:42 -04:00
arkon
b37b3767f3 Minor cleanup
Also add POST_NOTIFICATIONS permissions to make Android Studio stop complaining about it.
2022-09-21 22:39:32 -04:00
arkon
2d56ad1ad9 Replace deprecated SmallTopAppBar 2022-09-21 22:30:06 -04:00
Andreas
e82963c9ef
Split download preferences from PreferencesHelper (#8048) 2022-09-21 17:45:07 -04:00
happywillow0
ec34977a64
Update BrowseSourcePresenter.kt (#8040)
Set filters to default when reset is pressed.
2022-09-21 14:27:38 -04:00
stevenyomi
2ced56e490
Fix error when updating manga details with uninitialized title (#8045) 2022-09-21 09:19:45 -04:00
Andreas
e568951396
Split track preferences from PreferencesHelper (#8046) 2022-09-21 09:18:53 -04:00
Andreas
e275897bf9
Split reader preferences from PreferencesHelper (#8042) 2022-09-20 08:36:57 -04:00
arkon
2b089648a3 Remove redundant preference keys 2022-09-20 00:13:33 -04:00
AntsyLich
c2a831dded
Cleanup logic in UpdatesPresenter (#8035) 2022-09-19 23:56:28 -04:00
Andreas
c740558327
Split library preferences from PreferencesHelper (#8036) 2022-09-19 23:55:07 -04:00
arkon
0e3176a77c Clean up UpdatesController
- Move loading state into scaffold (closes #7704)
- Move logic into presenter
- Make some composables private
2022-09-18 22:38:44 -04:00
arkon
f85cbb1582 Replace clear database FAB with button
Also remove a bunch of unnecessary inset paddings since Scaffold handles it
2022-09-18 18:38:22 -04:00
arkon
20bbda78e6 Fix library search not being reflected (fixes #8031) 2022-09-18 18:09:26 -04:00
arkon
0225711f6f Clean up base classes
Should be able to throw away some of the search controller stuff after Global Search is migrated
2022-09-18 17:22:54 -04:00
arkon
7ec822503a Catch error properly when app update check fails (fixes #8019) 2022-09-18 16:24:26 -04:00
arkon
83871fc013 Minor cleanup/fixes
- Add FAB collapsing in clear database screen (fixes #7935)
- Don't allow multiline category names to be entered
- Consolidate Downloaded Only / Incognito Mode banner components
- Fix see-through migrate screen sticky header
2022-09-18 16:08:58 -04:00
Andreas
b668364afb
Split security preferences from PrefrencesHelper (#8030) 2022-09-18 13:07:48 -04:00
arkon
877ae041a4 Avoid invalid locales in language picker (fixes #7950)
We should probably prune the translations though.
2022-09-18 11:07:10 -04:00
arkon
1395343f11
Read metadata from ComicInfo.xml files in Local source (#8025)
Co-authored-by: Shamicen <84282253+Shamicen@users.noreply.github.com>
Co-authored-by: Andreas <andreas.everos@gmail.com>
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2022-09-18 10:55:30 -04:00
Andreas
30b3b2d3ff
Split source preferences from PreferencesHelper (#8029) 2022-09-18 10:36:41 -04:00
Andreas
0086743a53
Use 1.x preference abstraction (#8020)
* Use 1.x preference abstraction

- Uses SharedPreferences compared to 1.x impl which uses DataStore but it breaks all settings screens currently
- Move PreferencesHelper to new PreferenceStore
  - PreferencesHelper should be split into smaller preference stores and be in core or domain
- Remove flow preferences as new PreferenceStore handles changes for us

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>

* Fix PreferenceMutableState not updating

* Fix changes not emitting on first subscription

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
2022-09-17 11:48:24 -04:00
Ivan Iskandar
4a3070265a
Upgrade AGP 7.3.0 (#8016) 2022-09-17 10:26:02 -04:00
Ivan Iskandar
f54adb49a1
ExtensionsPresenter: Use StateFlow for extensions list (#8017) 2022-09-16 08:35:15 -04:00
Ivan Iskandar
ec30026333
Fix always-on app lock on cold start (#8018) 2022-09-16 08:34:46 -04:00
arkon
4ea512f6c2 Fix manga being reinitialized in browse
Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2022-09-15 22:55:20 -04:00
arkon
829aadd0bd Always attempt automatic backup creation
- Defaults to every 12 hours
- Minimum number of backups is now 2, just to offer some level of redundancy in case something happens
- If it's missing storage permissions, it'll fail but that's the user's loss if they somehow haven't granted that permission yet
2022-09-15 22:53:46 -04:00
arkon
9d28def387 Remove some dead code 2022-09-15 22:51:01 -04:00
Andreas
86fe850794
Extract source api from app module (#8014)
* Extract source api from app module

* Extract source online api from app module
2022-09-15 18:12:27 -04:00
Ansh
30ac94181b
Fix stacking of Settings menu in the reader on multiple taps (#8002)
* fix : conditional check added to avoid stacking of dialog

In onClickListener, bottom sheet is being opened depending on status of dialog sheet, if it's showing or not.

* chore : refactored conditional logic

* Update ReaderActivity.kt
2022-09-15 17:41:54 -04:00
AntsyLich
48d3d454c0
Fix missing condition on getLibrary sql query (#8006) 2022-09-14 11:36:23 -04:00
Ivan Iskandar
6865c21c75
Fix derivedStateOf errors (#8008) 2022-09-14 11:36:13 -04:00
Ivan Iskandar
7270c48f26
LibraryItem: Fix equality check (#7999)
Proper equality check is needed by compose for state changes.
2022-09-12 12:29:28 -04:00
AntsyLich
9e5d79aec3
Fix lint error (#8000) 2022-09-12 11:59:15 -04:00
AntsyLich
c51e83c048
Flatten available extensions with its source (#7956)
* Flatten available extensions with it's source

We should also do something similar for installed extensions

Supersedes #7200

* Dedupe sources
2022-09-11 18:05:46 -04:00