78 Commits

Author SHA1 Message Date
Jobobby04 5c26bb3a52 Add recommended proguard rules 2026-02-27 22:07:31 -05:00
Shamicen 95c834581b Libarchive refactor (#1249)
* Refactor archive support with libarchive

* Refactor archive support with libarchive

* Revert string resource changs

* Only mark archive formats as supported

Comic book archives should not be compressed.

* Fixup

* Remove epub from archive format list

* Move to mihon package

* Format

* Cleanup

Co-authored-by: Shamicen <84282253+Shamicen@users.noreply.github.com>
(cherry picked from commit 239c38982c4fd55d4d86b37fd9c3c51c3b47d098)

* handle incorrect passwords

* lint

* fixed broken encryption detection + small tweaks

* Add safeguard to prevent ArchiveInputStream from being closed twice (#967)

* fix: Add safeguard to prevent ArchiveInputStream from being closed twice

* detekt

* lint: Make detekt happy

---------

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

(cherry picked from commit e620665dda9eb5cc39f09e6087ea4f60a3cbe150)

* fixed ArchiveReaderMode CACHE_TO_DISK

* Added some missing SY --> comments

---------

Co-authored-by: FooIbar <118464521+fooibar@users.noreply.github.com>
Co-authored-by: Ahmad Ansori Palembani <46041660+null2264@users.noreply.github.com>
2024-08-17 20:25:25 -04:00
AwkwardPeak7 d968d58cd6 update r8 rules for MultipartBody.Builder in extensions (#783)
(cherry picked from commit f603db3f3fac72954997bfa0c2cd77a0b92cd7f0)
2024-06-01 13:57:27 -04:00
MajorTanya 3e438a9e87 Add ProGuard rule to keep mihon namespace classes (#605)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
(cherry picked from commit 555d2f834fb64df9a56fdf4f54d528c15fefa4cb)
2024-04-13 11:56:06 -04:00
Shamicen 6719f22eff implement mihonapp/mihon#326 (#1104)
* implement mihonapp/mihon#326

Archives are now being read from channels

Co-authored-by: FooIbar <118464521+FooIbar@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>

* disable parallelisms for loading into memory

* switched to mutex

* detekt changes

* more detekt baseline changes

---------

Co-authored-by: FooIbar <118464521+FooIbar@users.noreply.github.com>
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
2024-03-16 11:59:00 -04:00
KaiserBh 334e9fb680 feat: add cross device sync (#1005)
* feat: add cross device sync.

* chore: add google api.

* chore: add SY specifics.

* feat: add backupSource, backupPref, and "SY" backupSavedSearches.

I forgot to add the data into the merging logic, So remote always have empty value :(. Better late than never.

* feat(sync): Allow to choose what to sync.

Various improvement and added the option to choose what they want to sync. Added sync library button to LibraryTab as well.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* oops.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* refactor: fix up the sync triggers, and update imports.

* refactor

* chore: review pointers.

* refactor: update imports

* refactor: add more error guard for gdrive.

Also changed it to be app specific, we don't want them to use sync data from SY or other forks as some of the model and backup is different. So if people using other forks they should use the same data and not mismatch.

* fix: conflict and refactor.

* refactor: update imports.

* chore: fix some of detekt error.

* refactor: add breaks and max retries.

I think we were reaching deadlock or infinite loop causing the sync to go forever.

* feat: db changes to accommodate new syncing logic.

Using timestamp to sync is a bit skewed due to system clock etc and therefore there was a lot of issues with it such as removing a manga that shouldn't have been removed. Marking chapters as unread even though it was marked as a read. Hopefully by using versioning system it should eliminate those issues.

* chore: add migrations

* chore: version and is_syncing fields.

* chore: add SY only stuff.

* fix: oops wrong index.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* chore: review pointers.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* chore: remove the option to reset timestamp

We don't need this anymore since we are utilizing versioning system.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* refactor: Forgot to use the new versioning system.

I forgot to cherry pick this from mihon branch.

* chore: remove isSyncing from Chapter/Manga model.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* chore: remove unused import.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* chore: remove isSyncing leftover.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* chore: remove isSyncing.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

* refactor: make sure the manga version is bumped.

When there is changes in the chapters table such as reading or updating last read page we should bump the manga version. This way the manga is synced properly as in the History and last_read history is synced properly. This should fix the sorting issue.

Signed-off-by: KaiserBh <kaiserbh@proton.me>

---------

Signed-off-by: KaiserBh <kaiserbh@proton.me>
2024-03-16 11:53:20 -04:00
arkon 4003263828 Address some build warnings
(cherry picked from commit 2d7650537db907a4129f4a07db15950339b319e9)

# Conflicts:
#	README.md
#	app/src/main/java/eu/kanade/presentation/category/components/CategoryDialogs.kt
#	source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/model/SManga.kt
2023-12-25 19:47:20 -05:00
Jobobby04 59ee8bd8f9 Fix release build 2023-12-24 16:11:01 -05:00
Jobobby04 bfe824af18 Minor cleanup 2023-10-29 15:50:24 -04:00
arkon baa8658183 Remove unused rxandroid dependency
(cherry picked from commit 13dc54df707623c914cd7cda2f2f781515f92eb3)
2023-09-03 23:32:59 -04:00
Alessandro Jean abca69a078 Add support to kotlin.time APIs in the rate limit interceptor (#9797)
* Add support to kotlin.time APIs in the rate limit interceptor.

* Add a missing line break in the doc.

* Move the specific host to the same file.

* Add kotlin.time rule to Proguard and remove specific host rule.

* Mark the old version as deprecated and address review.

* Remove unused import.

* Remove yet another unused import.

(cherry picked from commit 9b6567f5e4bfa4b8a4845400216551fd28545094)
2023-08-12 16:47:11 -04:00
arkon 98e94ef7ae Just extract everything in zips to a directory
Issues:
- Apache implementation relies on methods unavailable on lower Android API levels
- Using input stream implementation doesn't seem to read some files properly, but using
  ZipFile implementation still requires reading the entire thing into memory

(cherry picked from commit 6f59c6c6bb12f1ef123abd418001c7a86d43ef7a)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/ZipPageLoader.kt
2023-05-08 23:14:29 -04:00
Jobobby04 e7d083f119 Thank you Pringle for the working build 2023-05-06 20:56:33 -04:00
Jobobby04 f2aa09039f Add suggested rules 2023-05-06 20:05:43 -04:00
arkon cf752a0d88 Maybe fix Firebase crashes
See https://github.com/firebase/firebase-android-sdk/issues/3507

(cherry picked from commit c48accb3572d79c772875436939f7141cf5f9423)

# Conflicts:
#	app/proguard-rules.pro
2023-05-06 11:24:25 -04:00
arkon a51660de2e Fix missing type info in release builds
(cherry picked from commit 265934d77aa514b8611d248b22f302082881aa02)
2023-05-06 11:19:31 -04:00
arkon b44175eb50 Fix missing type info in release builds
(cherry picked from commit 2a218cca9007e6d96a59a8f64588fe8f1ee0cd75)
2023-05-06 11:19:18 -04:00
Shamicen 88f076afd4 Encrypted CBZ archives (#846)
* Initial Implementation of encrypted CBZ archives

* changed a preference key to correct Syntax, changed a function name and changed ComicInfo padding length

* Update app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>

* Update app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>

* add necessary imports

* fix indentation after merge conflict

* Update app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSecurityScreen.kt

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>

* fix indentation and add imports

* collect preferences as states

* test if password is correct in ZipPageLoader

* added withIOContext to function call

* added encryption type preference

* implemented database encryption

* added proguard rules for sqlcipher and generate padding length with SecureRandom

---------

Co-authored-by: jobobby04 <jobobby04@users.noreply.github.com>
2023-05-06 11:06:54 -04:00
Jobobby04 d94270ce32 Don't optimize out serializers 2023-03-16 17:22:52 -04:00
Jobobby04 b571040ac8 Fix debug functions on release builds 2022-10-18 21:46:29 -04:00
arkon 40a9df8969 Update Proguard rules to handle serializers in all modules
Fixes #8112

(cherry picked from commit 8d1f99a480)
2022-10-01 18:32:45 -04:00
Jobobby04 8d91c54c18 Add a proguard rule for XMLUtil to fix build 2022-09-25 22:09:32 -04:00
Ivan Iskandar 01710d7b78 Upgrade AGP 7.3.0 (#8016)
(cherry picked from commit 4a3070265a)

# Conflicts:
#	app/proguard-rules.pro
2022-09-18 11:50:06 -04:00
arkon a24832f4db Remove Duktape
Now that none of the official extensions are using it.

(cherry picked from commit 324ae3fcfb)
2022-08-19 19:51:05 -04:00
arkon 3a489da679 Downgrade R8 to avoid extension issues
(cherry picked from commit e1e1c20dbe)

# Conflicts:
#	.github/renovate.json
#	app/proguard-rules.pro
2022-05-29 18:26:34 -04:00
arkon 357b4673f8 Update to AGP 7.2.0 again
- Disable optimizations on eu.kanade.tachiyomi.source.** classes to avoid access modifications causing mismatches between the app and extensions
- Remove Gson and Kotson Proguard rules, since we don't have those dependencies anymore

(cherry picked from commit bdb55ef881)

# Conflicts:
#	app/proguard-rules.pro
2022-05-14 19:50:09 -04:00
Jobobby04 020ce06ebd Remove GSON proguard rules 2022-01-09 15:40:05 -05:00
arkon 2dd2054d4c Add QuickJS dependency to eventually replace Duktape
(cherry picked from commit 2d03f3ce1e)

# Conflicts:
#	app/proguard-rules.pro
2022-01-08 17:42:23 -05:00
arkon fe4344c518 Keep coroutine methods (fixes #5662)
(cherry picked from commit dfec0e45ed)
2021-09-01 18:40:55 -04:00
Jobobby04 7e612e63b4 Proguard fixes 2021-05-22 16:07:11 -04:00
Jobobby04 b657af8d1c Fix a Guya crashlytics crash 2021-05-10 22:03:17 -04:00
Jobobby04 c26adbb81d Remove unused glide proguard rules 2021-05-09 18:56:24 -04:00
Jobobby04 5c2d26aa7c Genkan.io crash fix 2021-05-09 18:56:23 -04:00
Jobobby04 f9b4cb5bc9 Fix manga plus 2021-04-28 21:43:37 -04:00
Jobobby04 d15a473ed1 Enable the proguard rules 2020-10-13 21:53:23 -04:00
Jobobby04 f92c09b0f6 More comments 2020-10-13 20:55:18 -04:00
Jobobby04 5b056c6b70 Comment it all out 2020-10-13 20:27:36 -04:00
Jobobby04 2281a7a03d Comment out even more for a test 2020-10-13 17:23:43 -04:00
Jobobby04 713dcdfe53 Comment out some new rules for testing 2020-10-13 16:51:47 -04:00
Jobobby04 f3fc479020 Revert temp fixes, add serialization progurd rules
This reverts commit 543e089982.
2020-10-13 13:49:28 -04:00
Jobobby04 69f4d1fd46 Likely fix Hitomi extension 2020-08-11 01:35:36 -04:00
Jobobby04 fdc2b37add Fix Madokami extension username and password input 2020-06-08 22:06:38 -04:00
Rani Sargees 4d8f44ddae merge double upstream 2020-05-02 23:39:46 -04:00
TacoTheDank 55101b1a4a Update nucleus library (#2932) 2020-04-22 22:27:30 -04:00
arkon 6c474daacd Update Proguard rules
- Keep everything in Tachiyomi package (for extensions)
- Remove SnakeYaml
2020-03-02 21:45:16 -05:00
arkon 78689e7443 Migrate to AndroidX (#2424)
* Migrate to AndroidX (automatic conversion by Android Studio)

* AndroidX dependency code updates

* Fix source preference reparenting

* fixes the androidx prefererences icon spacing issue

(cherry picked from commit b76a15d960ec2cdf771be16377db0348b66b3179)

* Fix source preference screen heading size/list padding

Co-authored-by: Carlos <cargo8005@gmail.com>
2020-01-05 11:29:27 -05:00
NerdNumber9 e747686ad8 Upgrade realm
Update proguard file so we could potentially enable proguard in the future
Update dependencies
Downgrade duktape to fix MangaPlus
Remove useless dependencies
Remove useless tabGravity
Fix debug version crashing in background
2019-08-11 14:40:01 -04:00
NerdNumber9 c6b28cbcaf Upgrade dependencies
Remove Firebase Perf for better build speeds
2019-04-09 21:43:47 -04:00
NerdNumber9 0b054126bc Attempt to fix strange crash occurring on older Android versions 2019-04-07 05:15:40 -04:00
NerdNumber9 57d83e3d1b Use TachiWeb filter serializer for saving filters 2019-04-06 09:45:28 -04:00