diff --git a/src/en/guya/AndroidManifest.xml b/src/en/guya/AndroidManifest.xml
index 3fa10fee4..ba161dbbe 100644
--- a/src/en/guya/AndroidManifest.xml
+++ b/src/en/guya/AndroidManifest.xml
@@ -22,7 +22,16 @@
android:host="guya.moe"
android:pathPattern="/proxy/..*"
android:scheme="https" />
+
+
+
-
+
\ No newline at end of file
diff --git a/src/en/guya/build.gradle b/src/en/guya/build.gradle
index aeec3bba6..5fcdbc596 100644
--- a/src/en/guya/build.gradle
+++ b/src/en/guya/build.gradle
@@ -5,7 +5,7 @@ ext {
extName = 'Guya'
pkgNameSuffix = "en.guya"
extClass = '.Guya'
- extVersionCode = 16
+ extVersionCode = 17
libVersion = '1.2'
}
diff --git a/src/en/guya/src/eu/kanade/tachiyomi/extension/en/guya/GuyaUrlActivity.kt b/src/en/guya/src/eu/kanade/tachiyomi/extension/en/guya/GuyaUrlActivity.kt
index 23db1fe54..78d7f969e 100644
--- a/src/en/guya/src/eu/kanade/tachiyomi/extension/en/guya/GuyaUrlActivity.kt
+++ b/src/en/guya/src/eu/kanade/tachiyomi/extension/en/guya/GuyaUrlActivity.kt
@@ -17,23 +17,21 @@ class GuyaUrlActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
+ val host = intent?.data?.host
val pathSegments = intent?.data?.pathSegments
- if (pathSegments != null && pathSegments.size >= 3) {
- Log.d("GuyaUrlActivity", pathSegments[0])
- val query = when (pathSegments[0]) {
- "proxy" -> {
- val source = pathSegments[1]
- val id = pathSegments[2]
- "${Guya.PROXY_PREFIX}$source/$id"
- }
- else -> {
- val slug = pathSegments[2]
- "${Guya.SLUG_PREFIX}$slug"
- }
+ if (host != null && pathSegments != null) {
+ val query = when (host) {
+ "m.imgur.com", "imgur.com" -> fromImgur(pathSegments)
+ else -> fromGuya(pathSegments)
+ }
+
+ if (query == null) {
+ Log.e("GuyaUrlActivity", "Unable to parse URI from intent $intent")
+ finish()
+ exitProcess(1)
}
- // Gotta do it like this since slug title != actual title
val mainIntent = Intent().apply {
action = "eu.kanade.tachiyomi.SEARCH"
putExtra("query", query)
@@ -45,11 +43,35 @@ class GuyaUrlActivity : Activity() {
} catch (e: ActivityNotFoundException) {
Log.e("GuyaUrlActivity", e.toString())
}
- } else {
- Log.e("GuyaUrlActivity", "Unable to parse URI from intent $intent")
}
finish()
exitProcess(0)
}
+
+ private fun fromImgur(pathSegments: List): String? {
+ if (pathSegments.size >= 2) {
+ val id = pathSegments[1]
+
+ return "${Guya.PROXY_PREFIX}imgur/$id"
+ }
+ return null
+ }
+
+ private fun fromGuya(pathSegments: MutableList): String? {
+ if (pathSegments.size >= 3) {
+ return when (pathSegments[0]) {
+ "proxy" -> {
+ val source = pathSegments[1]
+ val id = pathSegments[2]
+ "${Guya.PROXY_PREFIX}$source/$id"
+ }
+ else -> {
+ val slug = pathSegments[2]
+ "${Guya.SLUG_PREFIX}$slug"
+ }
+ }
+ }
+ return null
+ }
}