Эх сурвалжийг харах

Fix Links to Changelog/Readme/Commits for `multisrc` (#7252)

* Fix Links to Changelog/Readme/Commits for `multisrc`

working basic fix. Needs to be refactored into `createUrl()`

* Refactor back into `createUrl`

hopefully the logic is understandable
there's three cases:
 - when multisrc, if `path` isn't mentioned, then we're trying to open
   commmit history
 - when multisrc, if `path` is mentioned, then its either a changelog or
   a readme to a multisrc extension, the files are stored in the
   `overrides` subfolder
 - when not multisrc, we're looking at a single source where the links
   are constructed in the same way regardless of it being
   changelog/readme/commit history

(cherry picked from commit e7695aef78c92c10e5bae953b24a19e67ac156af)
nicki 2 жил өмнө
parent
commit
f461c71625

+ 7 - 3
app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/ExtensionDetailsController.kt

@@ -247,9 +247,13 @@ class ExtensionDetailsController(bundle: Bundle? = null) :
     }
 
     private fun createUrl(url: String, pkgName: String, pkgFactory: String?, path: String = ""): String {
-        return when {
-            !pkgFactory.isNullOrEmpty() -> "$url/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/$pkgFactory$path"
-            else -> "$url/src/${pkgName.replace(".", "/")}$path"
+        return if (!pkgFactory.isNullOrEmpty()) {
+            when (path.isEmpty()) {
+                true -> "$url/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/$pkgFactory"
+                else -> "$url/multisrc/overrides/$pkgFactory/" + (pkgName.split(".").lastOrNull() ?: "") + path
+            }
+        } else {
+             url + "/src/" + pkgName.replace(".", "/") + path
         }
     }