* 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
72 lines
3.0 KiB
XML
72 lines
3.0 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
|
|
|
<application>
|
|
<!-- The Activities that will handle intents with URLs pertaining to ProjectSuki -->
|
|
<!-- this one handles projectsuki.com/search URLs -->
|
|
<activity
|
|
android:name=".all.projectsuki.activities.ProjectSukiSearchUrlActivity"
|
|
android:excludeFromRecents="true"
|
|
android:exported="true"
|
|
android:theme="@android:style/Theme.NoDisplay">
|
|
<intent-filter>
|
|
<!-- see ACTION_DEFAULT/ACTION_VIEW -->
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<!-- see CATEGORY_DEFAULT -->
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<!-- see CATEGORY_BROWSABLE -->
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<!-- see https://developer.android.com/guide/topics/manifest/data-element -->
|
|
<!-- we're not that strict -->
|
|
<data android:scheme="http" />
|
|
<data android:scheme="https" />
|
|
|
|
<!-- We only care about http(s) urls from projectsuki.com -->
|
|
<data android:host="projectsuki.com" />
|
|
|
|
<!-- Difference between ".*" and "..*" -->
|
|
<!-- https://stackoverflow.com/a/43396490 -->
|
|
<data android:pathPattern="/search.*" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity
|
|
android:name=".all.projectsuki.activities.ProjectSukiBookUrlActivity"
|
|
android:excludeFromRecents="true"
|
|
android:exported="true"
|
|
android:theme="@android:style/Theme.NoDisplay">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<data android:scheme="http" />
|
|
<data android:scheme="https" />
|
|
<data android:host="projectsuki.com" />
|
|
<data android:pathPattern="/book/.*" />
|
|
</intent-filter>
|
|
</activity>
|
|
|
|
<activity
|
|
android:name=".all.projectsuki.activities.ProjectSukiReadUrlActivity"
|
|
android:excludeFromRecents="true"
|
|
android:exported="true"
|
|
android:theme="@android:style/Theme.NoDisplay">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.VIEW" />
|
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.BROWSABLE" />
|
|
|
|
<data android:scheme="http" />
|
|
<data android:scheme="https" />
|
|
<data android:host="projectsuki.com" />
|
|
<data android:pathPattern="/read/.*" />
|
|
</intent-filter>
|
|
</activity>
|
|
</application>
|
|
</manifest>
|