From 4a54a8c801b9778895800368ee6f24f51b0351c2 Mon Sep 17 00:00:00 2001
From: Wisest_wizard <76830230+suhan-paradkar@users.noreply.github.com>
Date: Sat, 6 Aug 2022 22:29:45 +0100
Subject: [PATCH] Mangasee: Add intent filter (#12727)
* Mangasee: Add intent filter
* Update Mangasee.kt as per suggestion
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
* Update multisrc/overrides/nepnep/mangasee/src/MangaSee.kt
* Remove trailing whitespaces and blank lines
* Fix missing imports
Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
---
.../nepnep/mangasee/AndroidManifest.xml | 25 ++++++++++++
.../overrides/nepnep/mangasee/src/MangaSee.kt | 20 ++++++++++
.../mangasee/src/MangaseeUrlActivity.kt | 38 +++++++++++++++++++
.../multisrc/nepnep/NepNepGenerator.kt | 2 +-
4 files changed, 84 insertions(+), 1 deletion(-)
create mode 100644 multisrc/overrides/nepnep/mangasee/AndroidManifest.xml
create mode 100644 multisrc/overrides/nepnep/mangasee/src/MangaseeUrlActivity.kt
diff --git a/multisrc/overrides/nepnep/mangasee/AndroidManifest.xml b/multisrc/overrides/nepnep/mangasee/AndroidManifest.xml
new file mode 100644
index 000000000..5f31a6a6a
--- /dev/null
+++ b/multisrc/overrides/nepnep/mangasee/AndroidManifest.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/multisrc/overrides/nepnep/mangasee/src/MangaSee.kt b/multisrc/overrides/nepnep/mangasee/src/MangaSee.kt
index d9ebb2f8d..2748d8372 100644
--- a/multisrc/overrides/nepnep/mangasee/src/MangaSee.kt
+++ b/multisrc/overrides/nepnep/mangasee/src/MangaSee.kt
@@ -1,8 +1,13 @@
package eu.kanade.tachiyomi.extension.en.mangasee
import eu.kanade.tachiyomi.multisrc.nepnep.NepNep
+import eu.kanade.tachiyomi.network.GET
+import eu.kanade.tachiyomi.network.asObservableSuccess
import eu.kanade.tachiyomi.network.interceptor.rateLimit
+import eu.kanade.tachiyomi.source.model.FilterList
+import eu.kanade.tachiyomi.source.model.MangasPage
import okhttp3.OkHttpClient
+import rx.Observable
import java.util.concurrent.TimeUnit
class MangaSee : NepNep("MangaSee", "https://mangasee123.com", "en") {
@@ -15,4 +20,19 @@ class MangaSee : NepNep("MangaSee", "https://mangasee123.com", "en") {
.readTimeout(1, TimeUnit.MINUTES)
.writeTimeout(1, TimeUnit.MINUTES)
.build()
+
+ override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable {
+ if (query.startsWith("id:")) {
+ val id = query.substringAfter("id:")
+ return client.newCall(GET("$baseUrl/manga/$id/"))
+ .asObservableSuccess()
+ .map { response ->
+ val manga = mangaDetailsParse(response)
+ manga.url = "/manga/$id/"
+ MangasPage(listOf(manga), false)
+ }
+ }
+
+ return super.fetchSearchManga(page, query, filters)
+ }
}
diff --git a/multisrc/overrides/nepnep/mangasee/src/MangaseeUrlActivity.kt b/multisrc/overrides/nepnep/mangasee/src/MangaseeUrlActivity.kt
new file mode 100644
index 000000000..a94f3f24b
--- /dev/null
+++ b/multisrc/overrides/nepnep/mangasee/src/MangaseeUrlActivity.kt
@@ -0,0 +1,38 @@
+package eu.kanade.tachiyomi.multisrc.mangasee
+
+import android.app.Activity
+import android.content.ActivityNotFoundException
+import android.content.Intent
+import android.os.Bundle
+import android.util.Log
+import kotlin.system.exitProcess
+
+/**
+ * Springboard that accepts https://mangasee123.com/manga/xxxxxx intents and redirects them to
+ * the main Tachiyomi process.
+ */
+class MangaseeUrlActivity : Activity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ val pathSegments = intent?.data?.pathSegments
+ if (pathSegments != null && pathSegments.size > 1) {
+ val id = pathSegments[1]
+ val mainIntent = Intent().apply {
+ action = "eu.kanade.tachiyomi.SEARCH"
+ putExtra("query", "id:$id")
+ putExtra("filter", packageName)
+ }
+
+ try {
+ startActivity(mainIntent)
+ } catch (e: ActivityNotFoundException) {
+ Log.e("MangaseeUrlActivity", e.toString())
+ }
+ } else {
+ Log.e("MangaseeUrlActivity", "could not parse uri from intent $intent")
+ }
+
+ finish()
+ exitProcess(0)
+ }
+}
diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/nepnep/NepNepGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/nepnep/NepNepGenerator.kt
index 263600ffe..f1f778dbb 100644
--- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/nepnep/NepNepGenerator.kt
+++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/nepnep/NepNepGenerator.kt
@@ -12,7 +12,7 @@ class NepNepGenerator : ThemeSourceGenerator {
override val baseVersionCode: Int = 11
override val sources = listOf(
- SingleLang("MangaSee", "https://mangasee123.com", "en", overrideVersionCode = 20),
+ SingleLang("MangaSee", "https://mangasee123.com", "en", overrideVersionCode = 21),
SingleLang("MangaLife", "https://manga4life.com", "en", overrideVersionCode = 16),
)