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 + } }