Commit graph

2873 commits

Author SHA1 Message Date
arkon
774f818bbb Fix setting search re-animating on activity recreation (fixes #5882) 2021-09-18 16:28:58 -04:00
arkon
0ec7121b8f Adjust snackbar durations (closes #5932) 2021-09-18 16:17:07 -04:00
arkon
d7d46f4447 Minor cleanup 2021-09-18 16:13:14 -04:00
Andreas
45fad147bf
Remove spaces at end of line before removing multiple new lines (#5928) 2021-09-18 15:16:03 -04:00
Aria Moradi
3664195c71
rewrite getFormat the kotlin way (#5930) 2021-09-18 15:15:38 -04:00
arkon
fce3cd00a1 Remove setting to disable update error notifications and split out notification channel
Users can exclude things from updating if needed, or disable the notification channel from system settings.
2021-09-17 19:14:30 -04:00
arkon
33b3be0d0e Move extension app info button
Aligns with TachiyomiJ2K.
2021-09-16 17:57:41 -04:00
Ivan Iskandar
cfd1b4a6c6
Fix toolbar title alpha (#5910) 2021-09-16 17:39:13 -04:00
Gauthier
d45fefd6f0
handle maxNumberSort from API (#5917) 2021-09-16 17:37:42 -04:00
Ivan Iskandar
f125ab01ee
Change how the bottom navigation is hidden (#5823)
* Change how the bottom navigation is hidden

Modifies the translationY instead of the height.

* Cleanups
2021-09-16 17:37:17 -04:00
Soitora
971d8a7e40
Allow preferences to multi-line (#5905) 2021-09-13 18:39:14 -04:00
arkon
a2cf210a52 Unify NSFW flagging for sources/extensions
Since multisource extensions are no longer a thing, we now simply rely on the flag at the extension level, i.e. the per-Source/SourceFactory `@Nsfw` annotation is no longer checked.
We'll have to remove all of the annotation usages from the existing sources, which will also effectively break the setting for older versions of the app.
2021-09-13 17:49:58 -04:00
FourTOne5
2c495c4119
Don't count "other" as a language. (#5901) 2021-09-13 15:05:12 -04:00
arkon
7c72d6cb7c Fix scroller getting dragged incorrectly in RTL (fixes #5496) 2021-09-12 13:08:21 -04:00
arkon
8362bf0886 Don't show option to delete chapters for local manga (closes #5243) 2021-09-12 13:01:53 -04:00
arkon
1a8155c45b Add link to help translate in about 2021-09-12 12:52:19 -04:00
FourTOne5
3f2f946019
Update ExtensionPresenter.kt (#5895) 2021-09-12 09:34:37 -04:00
arkon
2c14a8dee1 Minor cleanup for download delete exclusion 2021-09-11 18:39:34 -04:00
Ivan Iskandar
746d35b52b
Reuse reader's image view in MangaFullCoverDialog (#5824)
* MangaFullCoverDialog: Support animated drawable

* Scaled zoom duration

* Wrap reader's image view to be reused in MangaFullCoverDialog

* Cleanups

* Forgot animated stuff for webtoon view

* Cleanups

* Oopsie

* Cleanups

* Consistent max scale for SubsamplingScaleImageView

The max scale will be obtained from the default scale times 3 for
consistent 3x zoom scale.
2021-09-11 18:28:54 -04:00
Jace
9a7a03e327
Change ProtoNumber of Backup Models for History and Source to a non-zero digit (#5849)
* Change ProtoNumber of Backup Models for History and Source to non-zero

Changed BackupHistory url and BackupSource name properties

* Provide backwards compatibility to current proto backups

- Added data class for zero-based protoNumber
- Restore both 'new' proto and old ones by mapping old to 'new' proto format
- Thanks to @jobobby04  for providing the initial solution.

* Fix on createBackup missing parameter for brokenSource

* Fix issues on build

* Fix missing import on FullBackupRestore
2021-09-11 18:10:10 -04:00
tobinstultiens
a051079c6a
Allow exclusion on Delete After Read per category (#5857)
* Added the exclude category from delete after being read

* Stopped it from adding a wildcard to the import

* Placed the remove after read to the download manager
2021-09-11 18:09:24 -04:00
Ivan Iskandar
7b3c18bb97
Less hacky way to make sure bottom action toolbar doesn't scroll down (#5871)
* Less hacky way to make sure bottom action toolbar doesn't scroll down

* Fix action toolbar overlapping on landscape

* Disable app bar transparency when ActionMode is present
2021-09-11 10:22:01 -04:00
FlaminSarge
52daf3d58c
During migration, only do MangaController replacement if previous controller is also MangaController (#5869)
If previous controller is instead a MigrationController/other, push the new MangaController onto the stack instead
2021-09-11 10:21:12 -04:00
Ivan Iskandar
f41bde5ee1
MangaController: Fix listeners cancelled when pushing new controller within (#5883) 2021-09-11 10:20:52 -04:00
Gauthier
6151318ac1
use chapter_number instead of ordinal index for syncChaptersWithTrackServiceTwoWay (#5846)
use v2 api for Komga tracker for series
2021-09-09 21:07:16 -04:00
Ivan Iskandar
b45c322729
MangaController: Title fixes (#5879)
* MangaController: Move toolbar's TextView reference to ElevationAppBarLayout

* MangaController: Update title alpha earlier when exiting
2021-09-09 21:05:41 -04:00
FourTOne5
156feb6e8e
Use "isOnline" utils in DownloadService (#5863)
* Use isOnline

* when -> if/else
2021-09-06 12:31:03 -04:00
arkon
e942b8a402 Read from streams for local source manga details and legacy backups 2021-09-06 11:54:00 -04:00
Andreas
abdb67a123
Remove the remaining MotionLayout (#5854)
* Remove the remaining MotionLayout

* Use ImageButton instead of Blank View to handle taps in dead area

And some tweaks
2021-09-06 11:46:38 -04:00
arkon
ee20787c5e Retain GLUtil.maxTextureSize 2021-09-05 14:34:54 -04:00
arkon
ec4e631760 Clean up some companion object usages 2021-09-05 14:34:29 -04:00
Aran Leite
02b430a5bf
Skip bookmark check when cancelling downloads (#5853)
* Skip bookmark check when cancelling downloads

* DownloadManager: simplified filteredChapters declaration

* Completed documentation of DownloadManager's deleteChapters()
2021-09-04 22:43:56 -04:00
arkon
7878053df2 Fix crash in settings search (fixes #5855) 2021-09-04 22:31:25 -04:00
arkon
12a593c3c6 Ensure all fields in new migrated manga are persisted (fixes #5848) 2021-09-04 19:05:43 -04:00
arkon
5ae4621da1 Queue tracking updates when offline (closes #1497)
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
2021-09-04 16:37:35 -04:00
arkon
5ea8d0546e Fix chapters getting deleted when marking as unread from library (fixes #5755) 2021-09-04 15:29:13 -04:00
arkon
8a064c118f Minor cleanup 2021-09-04 15:27:37 -04:00
arkon
2f91c27df2 Don't allow focus on reader containers (closes #5727) 2021-09-04 15:23:00 -04:00
Soitora
763bd54707
Hide language tag when only one language is used (#5834)
* Hide lang tag when only one lang used

* Comment the code

Can't be too useless and do nothing, Ghostbear practically wrote the entire PR for me

* Exclude 'all' from counting as a language

Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>

* Use existing Preferences directly from Presenter

* Replace regex with an existing value

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
2021-09-04 15:04:40 -04:00
arkon
0de3558ab3 Retain scroll position when selecting app theme preference
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
2021-09-04 11:58:44 -04:00
arkon
069f4e12d8 Rearrange themes, rename "Blue" to "Legacy Blue" 2021-09-04 11:50:00 -04:00
Quang Kieu
ee711dc0fb
Edit mangas' Categories in Library using TriState list (#5422)
* Use QuadState Categories to edit mangas in Library

Add updateMangasToCategories to build build correct Categories list for
  each manga using Common and Mix list
Update QuadState Multi-Choice to either Action or Display List
  Display list would have different state sequece from Action
  Uncheck-> Indeterminate (only if initial so)-> Check

fixup manga categories logic as Windows and push request comments

* fixup: Use QuadStateTextView.State enum

Update function to use  QuadStateTextView.State enum that missed in last change

* fixup: missing closing bracket and type cast

Co-authored-by: quangkieu <quangkieu1993@gmail.com>
2021-09-04 11:13:19 -04:00
arkon
c316e7faab Migrate to flow version of ReactiveNetwork 2021-09-04 10:38:12 -04:00
arkon
7083b3d912 Don't show update progress notifications if job isn't active anymore (closes #5844) 2021-09-04 10:24:55 -04:00
Ivan Iskandar
0df23ab878
Tablet UI override (#5830)
* Tablet UI override

* Tablet UI advanced pref
2021-09-04 10:06:56 -04:00
Soitora
d935e22f0d
Add status icons to manga info (#5832)
* Add icons to manga status

* Slightly better formatting

Mixed in with a dose of syntactic sugar

* Remove unnecessary lines

I think they are, at least

* Change according to review comments

- Fix forgotten Tablet code removal
- Change 'android:background' to 'app:srcCompat'

* Adjust size of icon

Smaller and more fitting to the environment
2021-09-02 17:57:54 -04:00
arkon
0e26abf7a6 Use ShapeableImageView for rounded thumbnails instead of Coil transformations 2021-08-31 22:35:52 -04:00
arkon
b9f7660a91 Added a getting started guide action for when the library is empty
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
2021-08-31 17:51:15 -04:00
Ivan Iskandar
18b5250ed1
Fix MangaController's loading view initial position (#5827)
Make sure the loading view is hidden before updating the offset.
2021-08-31 17:49:57 -04:00
nicki
f683f21ee2
Trim line breaks in manga info only when collapsed (#5818)
* don't trim newlines if summary expanded

* move description trim logic to separate function

* logic error oops

* let's try something

* fix bug on first load

makes it so that, description text is trimmed when entering manga from
library

Co-authored-by: Andreas <andreas.everos@gmail.com>

Co-authored-by: Andreas <andreas.everos@gmail.com>
2021-08-31 17:44:33 -04:00
Ivan Iskandar
bd033db84c
Fix animated image detection (#5826) 2021-08-31 17:43:29 -04:00
Andreas
ab036312a4
Handle small cover better (#5815) 2021-08-29 11:13:48 -04:00
Jays2Kings
634da15191 Update kitsu to not show "null" for empty descriptions
(cherry picked from commit e6ea530532523ed033fd232fcea2da8f17b973f7)
2021-08-29 10:03:40 -04:00
arkon
cea1720ea0 Make appearance settings searchable (fixes #5814) 2021-08-29 09:53:36 -04:00
arkon
b77edb2b5b Fix crash when tapping title of "App theme" preference 2021-08-28 17:31:30 -04:00
arkon
1b699bb814 Fix reader action sheet not opening 2021-08-28 17:24:42 -04:00
arkon
333c035fed Clean up reader action sheet layout 2021-08-28 17:22:41 -04:00
Andreas
e7d6dfff53
Replace MotionLayout with full screen dialog (#5806)
* Remove MotionLayout and add full screen dialog for enlarged cover

* Address some of the review comments
2021-08-28 16:53:59 -04:00
arkon
eebfad5a95 Register TachiyomiImageDecoder after built-in Coil decoders
Not sure if this is related to #5702.
2021-08-28 12:29:11 -04:00
arkon
77c0a93ac6 Tweak theme preference item UI 2021-08-28 12:28:15 -04:00
arkon
63a3e126b3 Rename Layout category to Navigation 2021-08-28 12:08:11 -04:00
Ivan Iskandar
3ea84cf0ce
Add IME_FLAG_NO_PERSONALIZED_LEARNING flag to text input when incognito is enabled (#5801)
* Add IME_FLAG_NO_PERSONALIZED_LEARNING flag to text input when incognito is enabled

Tested with Gboard only.

* Revert "Add IME_FLAG_NO_PERSONALIZED_LEARNING flag to text input when incognito is enabled"

This reverts commit 068399db

* Add IME_FLAG_NO_PERSONALIZED_LEARNING flag to text inputs when incognito is enabled

Source preference is not affected.

* Source preference stuff
2021-08-28 12:06:29 -04:00
arkon
7fa80ae556 Only update chapter/viewer flags for library manga instead of everything (addresses #5809) 2021-08-28 12:02:08 -04:00
arkon
925f71af15 Clean up track button changes 2021-08-28 11:19:38 -04:00
OncePunchedMan
c666dd623d
Tracking: replace tick with button (#5768)
* make check only visible after selecting an item

* replace tick with button and send to bottom

* fixed button visibility

* grey btn out

* resolving some bits

* removing the tick from appbar

* remove useless lines, appl insetter
2021-08-28 11:13:09 -04:00
Gauthier
2cd8733212
change Track.last_chapter_read to Float (#5802)
each TrackService can convert it to Int if decimal chapters are not supported
2021-08-28 10:37:45 -04:00
arkon
4b2a9bc621 Clean up imports 2021-08-27 16:45:59 -04:00
Taco
12a9d0575d
Use more Compat utilities (#5786)
* Use ActivityCompat.recreate

* Use more KTX extensions

* Use PackageInfoCompat.getLongVersionCode

* Remove unnecessary compat usages
2021-08-27 16:33:12 -04:00
arkon
edcfa28b0b Tweak theme preference item UI (closes #5805) 2021-08-27 16:25:03 -04:00
arkon
3155829994 Replace Wi-Fi connection check with WifiManager
Previous implementation couldn't detect Wi-Fi connection while using a VPN.
2021-08-27 15:41:47 -04:00
Soitora
d25707554e
Fix shadow behind the Expand Info icon (#5804) 2021-08-27 15:34:41 -04:00
Hunter Nickel
df683375b1
Apply system animation scale to parts of Tachiyomi that don't respect it by default (#5794)
* Add initial code for scaling animations, apply scale to reader nav overlay

* Rename extension function, apply system animator scale to ActionToolbar

* Apply system animator scale to expanding manga cover animation

* Apply system animator scale to image crossfade (also disables animated covers when browsing)

* Add documentation, make MotionScene Transition comment a bit more clear

* Disable animated covers in MangaInfoHeaderAdapter if animator duration scale is 0

* Disable animated covers in Library if animator duration scale is 0

* Convert loadAny listener to extension function
2021-08-27 08:44:09 -04:00
Taco
6922394b8e
Replace NetworkInfo with NetworkCapabilities (#5785) 2021-08-26 22:09:40 -04:00
Taco
24fd82d773
Use NotificationChannelCompat utilities (#5781) 2021-08-26 22:08:27 -04:00
Soitora
57aefcd917
New manga info expander (#5771)
* Replace "More" with Arrows

We used to have arrows but it was set away from the description which took a lot of space.

It was changed to "More" text, but with the recent design changes I think it'd look better to get a mix between them both.

* Properly align icons

Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>

* Expand support to Tablets

Get it... expand... hehe 😎

* Fix expanded width

Also fixes so that the constraint for the toggleLess is dependant on the right thing

* Give info toggles its own space

Uses its own margin now to push info rather than just being attached as a info margin.

* Remove weird duplicates I did not add

I did not add these but I don't see a reason to keep dupes

* Add bottom scrim

* Change to centered arrow under info

Anyone wanna experiment/build on top off then feel free to tweak

* Add background glow to icon for contrast

Co-Authored-By: Andreas <6576096+ghostbear@users.noreply.github.com>

Co-authored-by: Andreas <6576096+ghostbear@users.noreply.github.com>
Co-authored-by: Andreas <andreas.everos@gmail.com>
2021-08-26 22:07:30 -04:00
Ivan Iskandar
b3854ad382
Fix reader crash on Android 9 (#5789)
* Fix failed reader context creation on v28

* Re-apply the reader styles manually after overriding night mode

This commit replaces the ThemeCompat.rebase() call since the private API used is
in dark greylist max target P, thus making it unreachable.

* Revert "Fix failed reader context creation on v28"

This reverts commit 6e2104d7
2021-08-25 17:27:34 -04:00
arkon
0493e77cff Split out appearance settings from general section 2021-08-23 12:24:30 -04:00
arkon
6240fe1dfc Update app theme preference UI
Heavily influenced by TachiyomiJ2K.
2021-08-23 12:11:13 -04:00
arkon
7094fef37f Update tracker services logo layout (closes #5625) 2021-08-22 16:48:08 -04:00
arkon
6c527d52fb Use custom tabs instead of browser (closes #5754) 2021-08-22 14:16:54 -04:00
arkon
b8ea57e097 Minor cleanup 2021-08-22 14:00:07 -04:00
Ivan Iskandar
887b157056
Add haptic feedback to reader page slider (#5763) 2021-08-21 18:05:57 -04:00
nicki
50b282f58b
update Anilist tracking title during refresh (#5760)
Co-authored-by: Andreas <andreas.everos@gmail.com>

Co-authored-by: Andreas <andreas.everos@gmail.com>
2021-08-21 10:51:20 -04:00
arkon
7d2caeb270 Minor cleanup 2021-08-20 22:42:16 -04:00
nicki
708e71a35a
Use user preferred title language in Anilist (#5758)
* Use user preferred title language in Anilist

Since Anilist is only used by authenticated users, the title language
can be set using the `userPreferred` field (defaults to romaji)

Changed wherever `title>romaji` was being used. Shouldn't have missed
any. `userPreferred` is also available for Staff and Character but not
relevant to Tachiyomi for now.

Users might need to go Logout and log back in on Anilist to see the
change. Actual setting can be found at https://anilist.co/settings/media

closes https://github.com/tachiyomiorg/tachiyomi/issues/5757

* correct title in anilist model

indicates the fact that userPreferred title is used

* convert forgotten `type` to `format` as well

leads to NPE when using `findLibManga`.
missed one query in https://github.com/tachiyomiorg/tachiyomi/pull/5741
2021-08-20 18:20:04 -04:00
Ivan Iskandar
4eaccc966e
Hide reader progress indicator right away (#5750)
The image will be drawn over it so the animation won't be visible anyway
2021-08-19 18:12:31 -04:00
Andreas
3670d649b8
Make default category translatable (#5751)
* Make default category translatable

* Replace duplicate strings with common one
2021-08-19 18:10:43 -04:00
Ivan Iskandar
90ab04e81d
Require authentication-confirmation to change biometric lock settings (#5695)
* Requires authentication-confirmation to change biometric lock settings

* Prevent double authentications on older APIs when confirming settings changes

* Use new AuthPrompt API for app lock

With this commit, the app lock will only explicitly require Class 2 biometrics
or screen lock credential. Class 3 biometrics are guaranteed to meet Class 2
requirements thus will also be used when available.

* Use extension toast
2021-08-19 18:10:07 -04:00
Ivan Iskandar
26b8df5354
Partial revert 914b686c8e (#5749)
Didn't mean to remove this line, this fixes resuming to read downloaded chapter.
2021-08-19 11:53:26 -04:00
Ivan Iskandar
11a8046c5f
PagerPageHolder: Move chooseBackground call to IO thread (#5737)
* ImageUtil.chooseBackground: Use built-in decoder

* PagerPageHolder: Move chooseBackground call to IO thread

Also move stuffs and reuse image stream as bytes
2021-08-19 09:15:45 -04:00
Ivan Iskandar
da16110e1c
Edge-to-edge manga details view (#5613)
* Prepare for edge-to-edge MangaController

* Fix derpy liftToScroll with our own implementation

* Edge-to-edge MangaController

Except when legacy blue theme is used.

* Save app bar lift state for controller backstack

* Fix expanded cover position after the view recycled

* Handle overlap changes when incognito mode disabled

* Tablet fixes

* Revert "Handle overlap changes when incognito mode disabled"

This reverts commit 1f492449

Breaks on rotation changes.

* Fix MangaController's swipe refresh position

* All controllers are now doing lift app bar on scroll by default

They are already doing that before so this pretty much just a cleanups.

* TachiyomiCoordinatorLayout: Support ViewPager for app bar lift state check

I'm willing to revert this if this minute detail solution is deemed too hacky xD

* Fix app bar not lifted when scrolled without fling

* Save app bar lift state across configuration changes

* Fix MangaController's swipe refresh position after configuration change

* TachiyomiCoordinatorLayout: Update ViewPager reference when controller is changed
2021-08-19 09:12:52 -04:00
Ivan Iskandar
914b686c8e
ReaderTransitionView: Use context theme color for texts (#5738)
* Put themed reader context in adapter

This avoids creating themed context everytime the page holder is created, this
also allows the transition view to use the same themed context.

* Check against app night mode to create themed reader context

* ReaderTransitionView: Use context theme color for texts

The whole reader will need to be recreated when changing reader background while
webtoon mode is used, because recreating just the RecyclerView without messing
up the scroll position is impossible (I hope I just missed something).
2021-08-19 09:10:05 -04:00
nicki
27133520fc
Label one-shots correctly in anilist track search (#5741)
* use format instead of type in anilist search

As per anilist graphql docs, `type` refers to whether anime/manga and is
redundant (since we already limit it to `MANGA`). What we actually want
is `format` which includes whether the media is a One-shot or Manga

This should help in making search a bit better as one no longer needs to
rely on the Date to figure out if its the One-shot entry or the Manga
entry

* Revert "use format instead of type in anilist search"

This reverts commit 6f0ba4888669f414a2093d7632eb1fab109d74de.

Accidentally changed the wrong query while further testing whoops

* use format instead of type in anilist search

As per anilist graphql docs, `type` refers to whether anime/manga and is
redundant (since we already limit it to `MANGA`). What we actually want
is `format` which includes whether the media is a One-shot or Manga

Changes search query and corresponding JSONALManga structure
2021-08-19 09:08:48 -04:00
Hunter Nickel
24b967ad5c
Fix start/resume fab showing up when entering and then exiting action mode (#5735) 2021-08-17 22:44:35 -04:00
Hunter Nickel
faef35ec47
Add check for current controller before setting extension update tab badge (#5733) 2021-08-16 11:58:30 -04:00
Andreas
326d4c2641
Fix today still being displayed even though relative time is off (#5732) 2021-08-16 10:28:40 -04:00
Riztard Lanthorn
83436c9550
add Theme "Teal & Turquoise" (#5681)
* add Theme "Teal & Turquoise"

* re sorting & change tertiary dark

* use alpha on ripple color & capitalize
2021-08-16 10:15:28 -04:00
arkon
071bad1232 Use separate string for toRelativeString "Today"
Apparently 0 quantity is ignored for some locales...
2021-08-15 17:42:31 -04:00
arkon
ae1a76da2b Use toRelativeString in Updates and History headings 2021-08-15 17:42:06 -04:00
Andreas
57a5862840
Use relative time in ChapterHolder (#5719)
* Use relative time in ChapterHolder

Similar to how J2K does it

* Use custom implementation for relative time

* Changes based on review comments
2021-08-15 17:07:48 -04:00