* refactor(reportErrorToUser): enhance reportErrorToUser
* refactor(DataExtractor): add unexpectedErrorCatchingLazy
Makes it easier to quickly find and fix unexpected errors
* refactor(BookDetail): attempt at making BookDetail more extensible
Also fixes a rare bug that would throw a NoSuchElementException when the status or origin fields weren't found in the details table.
* refactor(mangaDetailsParse): refactor mangaDetailsParse to follow BookDetail's refactor
* chore(reportErrorToUser): Review reportErrorToUser messages
* refactor(Search): completely separate simple and smart search
create SmartBookSearchHandler as an attempt to speed up search by wasting less resources on unnecessary multiple normalization and reinitialization of resources via ThreadLocal
* chore(build): bumped extVersionCode to 3
* refactor(activities): Add activities to handle /book and /read URLs
Create a MangasPage with only a single Manga present (unfortunately needs to fetch manga details as title can't be inferred just by bookid)
Group activities in "activities" package for clarity
* fix(KDoc): fix Cannot resolve symbol
* chore: Update README and CHANGELOG
* chore: Add a bit of documentation to SmartBookSearchHandler
* feat: Handle /book and /read urls as search query
* chore(CHANGELOG): entries incorrectly listed as PUBLISHING_FINISHED now are correctly listed as COMPLETED
* chore(README): expanded README
* fix: Fix chapter list & prevent future trolling
* refactor: Minor refactoration for fun
* chore: Bump version
* fix: Prevent NPE in manga details
Didn't happen to me in my tests, but better be safe than sorry.
Thumbnails aren't really worth a (rare but possible?) NPE anyway
* fix: Add rate limit to prevent HTTP 429
* fix: Fix chapter list
* feat: Update search API
* refactor: Use URLs from constants
* refactor: Minor refactoration
* feat: Show more info in manga details page
* chore: Bump version
* fix: Apply suggestion - Use URL Builder in search
Thx alessandrojean!
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
---------
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
* feat(multisrc/tr): Create ShadowCeviri base
* fix: Fix popular manga page
* fix: Fix chapter list
NOTE: The source itself does NOT provide all chapters of some of their entries.
* chore: Add source icons
* feat(src/en): Create Kiutaku base
* feat: Implement popular entries page
* feat: Implement latest updates page
* feat: Implement search
* feat: Implement entry details page
* feat: Implement chapter list page
* feat: Parse page list
* chore: Add source (fav)icon
The source doesn't seems to have a logo, so I'm considering the favicon used by
the site as their icon.
* Update build.gradle
remove jwt lib
* Update Picacomic.kt
Remove the effect of jwt library to fix the conflict from GSON
* Update Picacomic.kt
remove redundant code
* Update build.gradle
bump extension version
* Make it more prescriptive
* Improved compatibility with older versions
* 1.switch to android.util.Base64 API to improved compatibility with older versions
2.Convert the literal constant named leeway from a method parameter to a private member constant, this will improve performance a bit...
* Modifying the request for MangaFire, adding support for other languages
* Modifying the request for MangaFire, adding support for other languages
* Increased version code
---------
Co-authored-by: PercyDLR <a20192265@pucp.edu.pe>
* build(gradle)!: Migrate ProjectSuki build.gradle to kotlin dsl
* feat: Add PathPattern
* feat: Add DataExtractor
* feat: Add ProjectSukiAPI
* feat: Add ProjectSukiFilters
* refactor!: migrate to new API and cleanup extension
Completely replace NormalizedURL with HttpUrl, remove PS.kt, PSBook.kt and PSFilters.kt
* chore(naming): rename pattern properties to be consistent
* refactor(preferences): Centralize and cleanup preferences
* chore(preferences): remove Android Preference import
* refactor(everything): Fix most of everything
Now apk builds, and correctly fetches books, chapters and images, including thumbnails.
* revert(gradle): revert to build.gradle.kts to be consistent with other extensions as context receivers are still unusable
* feat(url-activity): enhance
Needs to be tested, got distracted
* feat(preferences): Enhance preferences by providing more robust constructs
* feat(filters): Update and enhance filters
* feat(site-api): add search request data request and response parse
* refactor: replace require and error with reportErrorToUser in PathPattern
* refactor(core): Enhance everything
Now extension will show browse results on popular, main page on latest, will default to actually-useful search (with naive option on older devices) while still allowing old search.
Enhance user interaction by capturing or preventing almost all errors and alerting the user on what went wrong and what to do.
* chore: Suppress warnings
* docs: Document everything
Add documentation and revise pretty much everything.
* docs: Add CHANGELOG.md
* docs: Add README.md
* refactor(search-mode): Combine Naive/Full Site/Strict search options into single filter
* revert(manifest): Remove android:icon
it's set in the core AndroidManifest.xml
* chore(lang): switch extension language to "all"
explicitly set id: 8965918600406781666
* fix(preferences): fix blacklisted languages id
was the same as whitelisted
* fix: Fix bugs and more
Change Naive to Simple, provide more understandable description, make it possible to use Simple mode on any Android version if one wishes to do so.
Provide better regex for Simple search.
Test chapter filtering, download (single chapters and multiple), all searches, chapter view.
* docs: Update README and CHANGELOG
* refactor(url-activity): Refactor Url Activity from kotlin to java
Process kept complaining about java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
* revert(url-activity): Avoid kotlin Intrinsics