Bladeren bron

Handle link for multisource extension commits (closes #4432)

arkon 4 jaren geleden
bovenliggende
commit
a398c3fb81

+ 1 - 0
app/src/main/java/eu/kanade/tachiyomi/extension/model/Extension.kt

@@ -18,6 +18,7 @@ sealed class Extension {
         override val versionCode: Int,
         override val lang: String,
         override val isNsfw: Boolean,
+        val pkgFactory: String?,
         val sources: List<Source>,
         val hasUpdate: Boolean = false,
         val isObsolete: Boolean = false,

+ 3 - 1
app/src/main/java/eu/kanade/tachiyomi/extension/util/ExtensionLoader.kt

@@ -31,6 +31,7 @@ internal object ExtensionLoader {
 
     private const val EXTENSION_FEATURE = "tachiyomi.extension"
     private const val METADATA_SOURCE_CLASS = "tachiyomi.extension.class"
+    private const val METADATA_SOURCE_FACTORY = "tachiyomi.extension.factory"
     private const val METADATA_NSFW = "tachiyomi.extension.nsfw"
     const val LIB_VERSION_MIN = 1.2
     const val LIB_VERSION_MAX = 1.2
@@ -184,7 +185,8 @@ internal object ExtensionLoader {
             versionCode,
             lang,
             isNsfw,
-            sources,
+            sources = sources,
+            pkgFactory = appInfo.metaData.getString(METADATA_SOURCE_FACTORY),
             isUnofficial = signatureHash != officialSignature
         )
         return LoadResult.Success(extension)

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

@@ -208,7 +208,11 @@ class ExtensionDetailsController(bundle: Bundle? = null) :
 
     private fun openCommitHistory() {
         val pkgName = presenter.extension!!.pkgName.substringAfter("eu.kanade.tachiyomi.extension.")
-        val url = "https://github.com/tachiyomiorg/tachiyomi-extensions/commits/master/src/${pkgName.replace(".", "/")}"
+        val pkgFactory = presenter.extension!!.pkgFactory
+        val url = when {
+            !pkgFactory.isNullOrEmpty() -> "$URL_EXTENSION_COMMITS/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/$pkgFactory"
+            else -> "$URL_EXTENSION_COMMITS/src/${pkgName.replace(".", "/")}"
+        }
         val intent = Intent(Intent.ACTION_VIEW, url.toUri())
         startActivity(intent)
     }
@@ -232,5 +236,7 @@ class ExtensionDetailsController(bundle: Bundle? = null) :
 
     private companion object {
         const val PKGNAME_KEY = "pkg_name"
+
+        private const val URL_EXTENSION_COMMITS = "https://github.com/tachiyomiorg/tachiyomi-extensions/commits/master"
     }
 }