Commit Graph

3273 Commits

Author SHA1 Message Date
arkon
7773deabc0 Adjust library sorting by dates (closes #6954)
Ascending by date = oldest dates first. If no date is present, fallback to epoch 0 (i.e., oldest).
2022-04-24 15:50:51 -04:00
arkon
91ed3a4a5f Fix skipped library entries and size warning notifications using same ID 2022-04-24 15:49:24 -04:00
arkon
20145f7a12 Fix update warning notifications being cut off (fixes #6983) 2022-04-24 15:35:05 -04:00
arkon
883945e3e8 Default to downloading as CBZ (closes #6942)
Generally seems fine. People with weak devices may experience some issues, but they can toggle it off/extract the archives separately if needed.
2022-04-24 15:32:50 -04:00
arkon
3feea71146 Add battery not low restriction for global updates (closes #6980) 2022-04-24 15:25:28 -04:00
ItsLogic
5e32b8e49f
Fix chapter transition setting for one page chapters (#6998) 2022-04-24 15:21:21 -04:00
arkon
08e63e5fab Minor cleanup 2: Electric Boogaloo
- Reword pins on top setting
- Make "Latest" button style match old UI
- Sort sources by name
2022-04-24 15:17:01 -04:00
arkon
0ec9496d26 Minor cleanup 2022-04-24 14:39:51 -04:00
Andreas
29a0989f28
Convert Source tab to use Compose (#6987)
* Use Compose in Source tab

* Replace hashCode with key function

* Add ability to turn off pins moving on top of source list

* Changes from review comments
2022-04-24 14:35:59 -04:00
arkon
558b18899c Migrate WebViewActivity to Compose 2022-04-24 10:22:22 -04:00
arkon
6e95fde4ec Delete entire app_webview folder when clearing WebView data 2022-04-24 09:42:26 -04:00
arkon
e691e17efc Remove unused preference layouts 2022-04-23 18:34:53 -04:00
arkon
c25cffafc6
Migrate More screen to Compose (#6990) 2022-04-23 15:51:50 -04:00
arkon
8933b41937 Tweak about preferences styles 2022-04-23 12:42:35 -04:00
arkon
7e2f1d729f Clean up repetitive controller transactions 2022-04-23 12:10:32 -04:00
arkon
d6c87ec10e Basic initial port of About screen to Compose 2022-04-23 12:05:00 -04:00
CrepeTF
070abd79ce
Resume when history item is tapped (#6982)
* Remove resume button

* Rename onClickItem to onClickCover

* Optimize imports

* Rename reference to onClickItem in HistoryController.kt

Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
2022-04-23 10:58:33 -04:00
arkon
2d01933c28 Lifted NestedScrollConnection to abstract Compose classes
Since it'll likely be used in every controller.
2022-04-23 10:57:04 -04:00
arkon
bf0bb5aa88 Move clear webview data action to network group 2022-04-23 10:52:34 -04:00
arkon
1b4d9fc4e9 Migrate open source licenses screen to Compose 2022-04-23 10:52:19 -04:00
arkon
2b79295240 Revert "Revert history Compose/SQLDelight changes"
This reverts commit 96c894ce5b.
2022-04-22 17:35:18 -04:00
arkon
96c894ce5b Revert history Compose/SQLDelight changes 2022-04-22 17:27:58 -04:00
arkon
c0214103a9 Temporarily remove chapter name cleaning
To be added back in a more consistent manner later around the app. Probably when more things are Compose-y with less repetition.
2022-04-22 14:03:43 -04:00
arkon
2b76a97989 Add advanced setting to clear WebView data 2022-04-22 14:00:42 -04:00
Andreas
9d77052d9c
Enable verbose logging in dev flavor by default (#6979) 2022-04-22 12:34:53 -04:00
arkon
032aa64195 Lift Compose theme to abstract controller 2022-04-21 22:58:28 -04:00
arkon
7c8e8317a8 Simplify history item description building 2022-04-21 22:47:51 -04:00
arkon
eb1cfc4cd4 Add abstract ComposeController 2022-04-21 22:42:37 -04:00
arkon
f1e5cccee7 Add placeholder color for Compose manga covers 2022-04-21 19:02:54 -04:00
arkon
bc2ed763bd Default auto backups to 2 2022-04-21 17:13:33 -04:00
Andreas
a35995b898
Fix crash on History tab when there is no next chapter (#6970) 2022-04-21 16:48:45 -04:00
Andreas
b1f46ed830
Migrate History screen database calls to SQLDelight (#6933)
* Migrate History screen database call to SQLDelight

- Move all migrations to SQLDelight
- Move all tables to SQLDelight

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

* Changes from review comments

* Add adapters to database

* Remove logging of database version in App

* Change query name for paging source queries

* Update migrations

* Make SQLite Callback handle migration

- To ensure it updates the database

* Use SQLDelight Schema version for Callback database version

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
2022-04-21 15:45:56 -04:00
arkon
6c1565a7d4 Make links in new update dialog clickable
Co-authored-by: Jays2Kings <Jays2Kings@users.noreply.github.com>
2022-04-19 22:39:33 -04:00
arkon
2ca6b655ad Replace ignore button in new update dialog with link to GitHub page
Not enough room for 3 buttons. Users can still tap outside or back out of the dialog if they want to ignore it.
2022-04-18 22:45:58 -04:00
arkon
65a8b63b3b Move chapter name cleaning logic to holder (fixes #6955) 2022-04-18 09:26:43 -04:00
Andreas
b20ca36db9
Fix AppBar not unlifting when scrolling using ComposeView (#6952) 2022-04-17 14:33:35 -04:00
arkon
189f92d7e8 Show better error message when empty backup creation is attempted (closes #6941) 2022-04-17 11:51:24 -04:00
arkon
cdd4ec6233 Increase default OkHttp call timeout to 2 minutes
Which is still stupidly high, but maybe it'll be lenient enough for certain people.
2022-04-17 11:32:47 -04:00
arkon
ef1bb4e800 Show parsed Markdown for new version info (closes #6940) 2022-04-17 11:30:05 -04:00
Andreas
c475acd1ea
Migrate History screen to Compose (#6922)
* Migrate History screen to Compose

- Migrate screen
- Strip logic from presenter into use cases and repository
- Setup for other screen being able to migrate to Compose with Theme

* Changes from review comments
2022-04-17 10:36:22 -04:00
arkon
89decf3474 Always remove manga title from if it prefixes chapter names (related to #6913) 2022-04-15 15:52:48 -04:00
arkon
0b2794e843 Limit package name overriding to Android 8+ (related to #6846) 2022-04-15 13:43:54 -04:00
arkon
9c30fa1da3 Update F-Droid migration guide link 2022-04-15 12:11:01 -04:00
arkon
e81bd61e24 Adjust update/download warnings
This is a partial revert/evolution of 538dd60580

- Back to notifications, because Android 12+ may cut off toasts
- Notifications now automatically dismiss after 30s on Android 8+ (taken from J2K)
- Also warn if more than 30 chapters are queued for download
2022-04-15 10:24:54 -04:00
arkon
7a0b54bb38 Set network call timeout to 90 seconds (instead of infinite) 2022-04-15 09:56:35 -04:00
arkon
f060daf8c4 Rollback to stable OkHttp
There's some weird crashes related to it. Happy Eyeballs will return once we upgrade again.
2022-04-14 22:37:51 -04:00
arkon
c1976ef599 Avoid some crashes 2022-04-14 18:28:16 -04:00
arkon
f16fb4e1e4 Minor cleanup 2022-04-14 18:15:47 -04:00
arkon
5da2c82f47 Avoid crashing if picture can't be saved (related to #6905) 2022-04-13 18:45:49 -04:00
arkon
2a070c0b1e Add clear cookies option to WebView menu 2022-04-13 17:48:05 -04:00
arkon
821d9cdb02 Show different update notification for F-Droid installations 2022-04-13 17:44:43 -04:00
arkon
28575936d3 Move learn more text in skipped entries notification to main content
Because people apparently don't realize they can tap actions
2022-04-12 23:08:00 -04:00
jmir1
0894b1394f
Fix cover sharing error string (#6911) 2022-04-12 09:10:32 -04:00
arkon
eb33d3c991 Remove build flavor checks for update warnings
"stable" was invalid anyway, it should've been "release"
2022-04-11 23:05:00 -04:00
arkon
80635343ae Update ACRA 2022-04-11 23:04:07 -04:00
arkon
4ecde9fc39 Gate update/download warnings to non-stable flavors 2022-04-10 12:17:45 -04:00
arkon
5afff31f72 Formatting 2022-04-08 16:44:23 -04:00
arkon
2dfafa387b Remove reader tapping option in favor of disabled nav layouts 2022-04-08 16:44:13 -04:00
arkon
7318f4f5dd Remove some dead code 2022-04-08 16:32:34 -04:00
manatails
175b77fe6f
Add option to disable navigation layout (#6876) 2022-04-08 16:32:25 -04:00
arkon
346652e508 Ensure media store scan is triggered after saving an image (fixes #6808) 2022-04-08 15:55:12 -04:00
arkon
f0eb42e72d Update linter 2022-04-08 15:30:39 -04:00
Ivan Iskandar
ac980a4dbf
MangaCoverFetcher: Handle moving cover cache after adding to library (#6885)
Move cover cache to separate cache dir after the parent manga is added to library
2022-04-08 12:10:06 -04:00
arkon
52911539b8 Bump dependencies 2022-04-07 22:19:31 -04:00
Andreas
3026ff241b
Write library cover to library cover cache (#6883) 2022-04-07 22:00:17 -04:00
Ivan Iskandar
2466a079d5
MangaCoverFetcher: Don't close network response (#6882) 2022-04-07 13:34:31 -04:00
arkon
668d962233 Update WebView requester package name
https://github.com/tachiyomiorg/tachiyomi/issues/6781#issuecomment-1086665483
2022-04-02 12:04:20 -04:00
arkon
996f770935 Override X-Requested-With header value in WebView requests (closes #6781) 2022-04-02 10:49:42 -04:00
Ivan Iskandar
dbad60d03b
Base activities cleanup (#6848)
* secure delegate

* theming delegate
2022-04-02 09:54:21 -04:00
Andreas
dd490f2ac9
Fix DST issue (#6831) 2022-04-02 08:52:53 -04:00
Ivan Iskandar
5409af0a6c
MangaCoverFetcher: Use source's header for network request (#6847) 2022-04-02 08:44:01 -04:00
arkon
0ed0d903cc Force default browser for tracker logins
To avoid potentially opening up third party apps, which aren't useful for handling OAuth login flows.
2022-03-26 16:35:14 -04:00
arkon
85be4c492d Fix clear database selection toggling (fixes #6807) 2022-03-26 16:12:15 -04:00
arkon
c06ad8b87e Stop using custom tabs (closes #6821) 2022-03-26 15:45:58 -04:00
arkon
b89acb5853 Stop removing local manga's title from chapter names (closes #6578)
Users should better curate their chapter folder/file names if need be. There's legit reasons for a chapter to start with or contain the same word(s) that the manga title consists of.
2022-03-26 15:34:53 -04:00
arkon
7890511a53 Update dependencies 2022-03-26 15:23:31 -04:00
Franco Olivera
3aa4e6eb93
Add "Move all chapters from series to top" option to download context menu (#6794)
* Added basic move to top series feature

* Remove intermediate List

* Change text string

* Remove spanish manual translation

* Changed algorithm to use "partition"
2022-03-26 14:49:37 -04:00
Andreas
f8eb9f94f4
Fix filename not having chapter title and page when sharing (#6827) 2022-03-26 12:40:29 -04:00
Ivan Iskandar
ffd9c6995a
UpdatesController: Don't init adapter until chapter data is ready (#6824)
Considering there's no pagination for this list, the data loading can take some
time. So this will show the existing refresh indicator instead of empty view
while the list is loading.
2022-03-25 22:20:47 -04:00
Ivan Iskandar
ef600c0956
Fix extension update badge reset when app resumed (#6822) 2022-03-25 11:11:16 -04:00
arkon
5c0a43e8d6 Fix off by 1 dates (fixes #6791) 2022-03-24 18:49:08 -04:00
Andreas
cd07027192
Use the file extension from the ImageType enum (#6800)
* Use the file extension from the ImageType enum

* Use the mime type from the ImageType enum

- On Android 29+
2022-03-21 13:13:39 -04:00
arkon
da2b30268a Add support for Happy Eyeballs 2022-03-19 16:48:33 -04:00
Andreas
1163aa4e4e
Share logic for saving page/cover (#6787)
* Use MediaStore on newer Android Q or newer

* Use flow instead of Observable

* Review comment fixes

* Use suspended function instead of flow
2022-03-19 16:46:23 -04:00
Ivan Iskandar
ddb856edc7
Add cover error drawable (#6782) 2022-03-15 22:21:30 -04:00
arkon
9c426bc216 Avoid crashing when global search encounters a NoClassDefFoundError 2022-03-15 22:20:41 -04:00
arkon
382852d0bd Require WebView v95+ 2022-03-15 22:12:41 -04:00
Sahaab
87ae86e1be Added reverse portrait reader rotation 2022-03-12 16:50:48 -05:00
quangkieu
9547311d7d Avoid throw as it is slow expensive operations 2022-03-12 16:47:31 -05:00
arkon
1613d561c1 Revert "Add shortcut to change app language in Android 13"
This reverts commit 538478cac8.
2022-03-12 16:45:36 -05:00
arkon
538478cac8 Add shortcut to change app language in Android 13 2022-03-11 22:26:03 -05:00
Ivan Iskandar
fae43fedfa
ReaderActivity: Reduce anim duration when launched from resume FAB (#6762)
From enter 500ms exit 400ms
To both 350ms
2022-03-10 07:51:42 -05:00
arkon
c447022092 Disable app cache WebView (is a deprecated web API and is being removed in Android 13) 2022-03-09 18:04:52 -05:00
arkon
56042ad0b6 Split out global library update skipped entries into separate notification (closes #6722) 2022-03-09 18:04:52 -05:00
arkon
45da036789 Avoid potentially deleting the entire backups folder 2022-03-09 18:04:52 -05:00
arkon
b47b702a52 Copy raw description on long tap (fixes #6557) 2022-03-09 18:04:52 -05:00
Ivan Iskandar
869424cd16
Change cover placeholder (#6756) 2022-03-09 17:26:55 -05:00
arkon
b9fd01315b Minor cleanup 2022-03-06 09:37:39 -05:00
arkon
a72098b862 Add shortcut to edit categories screen from category setting dialog (closes #6280) 2022-03-06 09:37:39 -05:00
Andreas
86016de6cb
Recreate Backup worker with IS_AUTO_BACKUP_KEY flag (#6742)
* Recreate Backup worker with IS_AUTO_BACKUP_KEY flag

* Extra safety net to not delete backup folder
2022-03-06 08:36:47 -05:00
1831553190
592b9fedb9
Fixed the wrong offset (#6704) 2022-03-05 10:08:32 -05:00
arkon
d06984e3a3 Use same name for manual backup job tag and work name 2022-03-05 09:49:21 -05:00
Ivan Iskandar
10eef282fa
Coil 2.x upgrade (#6725)
* Migrate to Coil 2

* Adapt to use coil disk cache

* Update to alpha 7

* Update to alpha 8

* Update to rc01
2022-03-04 16:04:32 -05:00
Ivan Iskandar
d53bb4c337
Use existing worker for manual backup creation (#6718)
* Use existing worker for manual backup creation

This will show the "creating backup" notification when auto backup is
running. Complete or error notification will continue to be shown only on
manual job.

* Make sure disabling auto backup don't cancel running manual backup job
2022-03-03 22:15:49 -05:00
FourTOne5
08ee858f64
Adjust mark as unread and mark previous as read action visibility (#6703) 2022-03-01 22:21:15 -05:00
啊o额iu鱼
6f5328f663
Fix corrupted backup file, fix #6424 (#6691)
Reappear stably on the api30 Android Studio Emulator,
first save a large backup file,
then save a small backup file, overwriting the previous larger backup file,
so you get a backup file with a larger size but only the first part is meaningful,
2022-02-23 09:12:24 -05:00
Gauthier
2f07f226b8
Fix "Landscape zoom" and "Navigate to pan" for split images (#6647)
* fix: getPageHolder would always return the first split, as they share the same index

* split pages have the same number, we need an extra check to know whether we move forward or back
2022-02-17 22:09:03 -05:00
Ivan Iskandar
a8ad19a89d
Restore bottom nav position earlier after being recreated (#6648) 2022-02-17 22:08:36 -05:00
Román
57c07250fd
Side padding: Added missing percentage (#6668) 2022-02-17 10:39:07 -05:00
arkon
4a3e4a7c5c Reword library update restrictions setting and surface skipped entries in error notification/log 2022-02-14 18:16:22 -05:00
arkon
c284a23afb Avoid some crashes if router backstack is empty for whatever reason 2022-02-13 11:10:22 -05:00
Ivan Iskandar
fad1449de3
Grid items optimizations (#6641)
Use ConstraintLayout for ez size ratio calculation and merge cover-only view
holder with compact's
2022-02-13 11:09:49 -05:00
FourTOne5
f18d161eaf
Add "Started" library filter and library update restriction (#6382)
* Add chapter read count to library manga

Co-Authored-By: Jays2Kings <jays@outlook.com>

* Add "Started" library filter and library update restriction

* Update Filter when its changed

* Add back accidentally removed stuff.

* Update..

* Change variable names

* Change Variable name where I missed

Co-authored-by: Jays2Kings <jays@outlook.com>
2022-02-13 10:42:28 -05:00
arkon
88054b453a No need for a new bit for DisplayModeSetting mask
(Thanks Syer)
2022-02-12 22:26:51 -05:00
arkon
c560373596 Fix overlap between DisplayModeSetting and SortModeSetting masks 2022-02-12 22:17:33 -05:00
arkon
d698d03521 Fix Quad9 DoH setting 2022-02-12 22:08:12 -05:00
OncePunchedMan
d8c8d7c588
Add Quad9 DOH provider (#6638)
* add quad9 as new doh provider

* add ipv6 addresses to google doh

* revert changes to import
2022-02-12 17:15:53 -05:00
CrepeTF
51d48bdde6
Update Theme Preview Items (#6628)
* Improved theme preview items

* Tweaked theme preference item border colours

* Polished theme items

* Update ThemesPreference.kt item layout width value

Co-authored-by: CrepeTF <trungnguyen02@outlookcom>
2022-02-12 13:14:04 -05:00
Mica
44b055c019 Cover only grid added to library (#6528)
* No title grid added to library and source

* Else added to display title in case image is null or empty

* No title grid renamed and now only available in library

* Spanish strings about cover only grid removed

Co-authored-by: micaelagimenez <micaela.gimenez@ext.prosegur.com>
2022-02-12 13:09:44 -05:00
arkon
790d7b9170 Rename extension function to avoid confusion with androidx function 2022-02-12 11:23:10 -05:00
Gauthier
d8719ceee9
Navigate to pan / landscape zoom (#6481)
* pan if the image is zoomed instead of navigating away
quickly display full landscape image before zooming to fit height in fit to screen

* add Tap to pan preference, defaults to true
add landscape zoom preference, defaults to false

* hide landscape image zoom option if scale is not fit screen

* fix landscape image zoom for first image and loading image

* properly reload pagerholders when landscape zoom option is changed

* enable landscape zoom by default
2022-02-12 11:21:54 -05:00
Felix Kaiser
71ddb16574 Detect identical mangas when adding to library (#6579)
* added duplicate manga check

When adding a manga to your library, the app will go through each manga previously added and compare their names. If a match is detected, it will prompt the user and ask for confirmation. On this prompt there is also an option to view the other manga.

* added german translations for newly added strings

* Revert "added german translations for newly added strings"

This reverts commit 71ada62067.

* changed `AlertDialog.Builder` to `MaterialAlertDialogBuilder`

* using SQL query instead of filtering entire library with Kotlin
2022-02-12 11:13:27 -05:00
Ivan Iskandar
2932ed670f
MainActivity fixes (#6591)
* Reduce notifyDataSetChanged calls when category count is disabled

* Fix category tabs briefly showing when it's supposed to be disabled

Also fix tabs showing when activity recreated

* Lift appbar when tab is hidden

Check against tab visibility instead of viewpager

* Restore selected nav item after recreate

* Simplify SHORTCUT_MANGA intent handling

Don't need to change controller if the topmost controller is the target
2022-02-12 10:58:58 -05:00
arkon
8c1662cfdb Disallow PackageInstaller extension installer option on MIUI 2022-02-05 23:02:13 -05:00
arkon
299e52e877 Allow disabling secure screen when incognito mode is on 2022-02-05 18:51:08 -05:00
arkon
95b253db09 Don't show error toasts in MangaController for HTTP 103 responses (closes #6562) 2022-02-05 18:26:50 -05:00
arkon
067cb2452e Add shortcut to backups guide 2022-02-05 17:44:54 -05:00
arkon
45e4092335 Increase minimum required disk space to download chapters to 200MB (closes #6576) 2022-02-05 17:35:54 -05:00
arkon
aa5e428222 Filter archive files as sequence 2022-02-05 17:27:28 -05:00
Midyan Hamdoun
319e4360c8 Display correct string on FAB 2022-02-05 17:26:57 -05:00
Ivan Iskandar
7108993936
Unify reader error layout (#6512)
So nobody will think that the error layout is broken when they see different
layout.
2022-02-02 21:41:20 -05:00
Ivan Iskandar
b6553bdc34
ReaderActivity: Fix transition crash on Android 8 (#6542) 2022-02-02 21:40:48 -05:00
arkon
19fe689969 Revert "Temporarily revert some things for stable release"
This reverts commit b88f8ae9d2.
2022-02-01 12:32:27 -05:00
arkon
b88f8ae9d2 Temporarily revert some things for stable release 2022-02-01 12:31:47 -05:00
arkon
408c7b2ca6 Avoid unnecessary transition setup in reader if not transitioning 2022-02-01 10:31:44 -05:00
Andreas
271253fd0b
Fix app crashing when opening ReaderActivity with FAB (#6535) 2022-02-01 10:30:17 -05:00
Ivan Iskandar
5348154c42
TachiyomiAppBarLayout: Ignore inset visibility (#6533)
For resume button animation
2022-02-01 09:51:14 -05:00
arkon
e1b1f4f3fc Avoid trying to open links in invalid Huawei app 2022-02-01 09:48:37 -05:00
arkon
75a2110626 Update preference dependencies 2022-01-31 18:13:57 -05:00
arkon
59cba2533c Revert "Disable update/download warnings for stable release"
This reverts commit 3da8677e32.
2022-01-31 16:03:42 -05:00
arkon
3da8677e32 Disable update/download warnings for stable release 2022-01-31 15:28:14 -05:00
arkon
8c4ece4b2d Fix selection state appearance in clear database list (fixes #6526) 2022-01-31 15:01:01 -05:00
arkon
bf3bb8a378 Remove more formatting span types in SearchView (maybe fixes #6495) 2022-01-30 10:51:49 -05:00
Ivan Iskandar
cf5e60f8eb
MangaSummaryView: Fix incomplete description on tablet ui (#6518) 2022-01-30 10:47:53 -05:00
arkon
7de707c60a Avoid invalid unset default browser (fixes #6520) 2022-01-30 10:46:46 -05:00
Ivan Iskandar
5cd11ad8c3
Fix bottom nav showing on resume when action mode is active (#6514) 2022-01-29 13:55:33 -05:00
arkon
6bba52a2b6 Always try to use default browser when opening custom tabs on all Android versions 2022-01-29 10:12:46 -05:00
Ivan Iskandar
a68f123594
TachiyomiAppBarLayout: Use insetter to handle inset (#6506)
This requires adding the status bar foreground drawing logic since the parent
class wouldn't know the inset changes anymore.
2022-01-28 10:14:13 -05:00
Rajat
77a3acf5cc
Fix search inputs accepting formatted text (#6501)
* Fix Global and extension search input accepts formatted text #6495

* Code change as requested because of performance issue

* code changes as requested

* minor code changes
2022-01-26 23:37:26 -05:00
Riztard Lanthorn
dea585e69b
add extra space before error in log description (#6505)
to make it easier to read if the log reader using word wrap
2022-01-26 23:29:38 -05:00