diff --git a/multisrc/overrides/guya/dankefurslesen/AndroidManifest.xml b/multisrc/overrides/guya/dankefurslesen/AndroidManifest.xml new file mode 100644 index 000000000..84ef0bbc7 --- /dev/null +++ b/multisrc/overrides/guya/dankefurslesen/AndroidManifest.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="eu.kanade.tachiyomi.extension"> + + <application> + <activity + android:name=".en.dankefurslesen.DankeFursLesenUrlActivity" + android:excludeFromRecents="true" + android:theme="@android:style/Theme.NoDisplay"> + <intent-filter> + <action android:name="android.intent.action.VIEW" /> + + <category android:name="android.intent.category.DEFAULT" /> + <category android:name="android.intent.category.BROWSABLE" /> + + <data + android:host="danke.moe" + android:pathPattern="/read/manga/..*" + android:scheme="https" /> + </intent-filter> + </activity> + </application> +</manifest> \ No newline at end of file diff --git a/multisrc/overrides/guya/dankefurslesen/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/guya/dankefurslesen/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 000000000..a64fb0ff7 Binary files /dev/null and b/multisrc/overrides/guya/dankefurslesen/res/mipmap-hdpi/ic_launcher.png differ diff --git a/multisrc/overrides/guya/dankefurslesen/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/guya/dankefurslesen/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 000000000..1d17658d5 Binary files /dev/null and b/multisrc/overrides/guya/dankefurslesen/res/mipmap-mdpi/ic_launcher.png differ diff --git a/multisrc/overrides/guya/dankefurslesen/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/guya/dankefurslesen/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 000000000..a2901cf76 Binary files /dev/null and b/multisrc/overrides/guya/dankefurslesen/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/guya/dankefurslesen/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/guya/dankefurslesen/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..97b101dc7 Binary files /dev/null and b/multisrc/overrides/guya/dankefurslesen/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/guya/dankefurslesen/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/guya/dankefurslesen/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 000000000..d8235e528 Binary files /dev/null and b/multisrc/overrides/guya/dankefurslesen/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/guya/dankefurslesen/res/web_hi_res_512.png b/multisrc/overrides/guya/dankefurslesen/res/web_hi_res_512.png new file mode 100644 index 000000000..9edd4f98a Binary files /dev/null and b/multisrc/overrides/guya/dankefurslesen/res/web_hi_res_512.png differ diff --git a/multisrc/overrides/guya/dankefurslesen/src/DankeFursLesen.kt b/multisrc/overrides/guya/dankefurslesen/src/DankeFursLesen.kt new file mode 100644 index 000000000..fbe3a236a --- /dev/null +++ b/multisrc/overrides/guya/dankefurslesen/src/DankeFursLesen.kt @@ -0,0 +1,11 @@ +package eu.kanade.tachiyomi.extension.en.dankefurslesen + +import eu.kanade.tachiyomi.multisrc.guya.Guya + +class DankeFursLesen : Guya("Danke fürs Lesen", "https://danke.moe", "en") { + companion object { + const val SLUG_PREFIX = "slug:" + const val PROXY_PREFIX = "proxy:" + const val NESTED_PROXY_API_PREFIX = "/proxy/api/" + } +} diff --git a/multisrc/overrides/guya/dankefurslesen/src/DankeFursLesenUrlActivity.kt b/multisrc/overrides/guya/dankefurslesen/src/DankeFursLesenUrlActivity.kt new file mode 100644 index 000000000..fc41cb0c1 --- /dev/null +++ b/multisrc/overrides/guya/dankefurslesen/src/DankeFursLesenUrlActivity.kt @@ -0,0 +1,57 @@ +package eu.kanade.tachiyomi.extension.en.dankefurslesen + +import android.app.Activity +import android.content.ActivityNotFoundException +import android.content.Intent +import android.os.Bundle +import android.util.Log +import kotlin.system.exitProcess + +/** + * Accepts https://danke.moe/read/manga/xyz intents + * + * Added due to requests from various users to allow for opening of titles when given the + * Guya URL whilst on mobile. + */ +class DankeFursLesenUrlActivity : Activity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + val host = intent?.data?.host + val pathSegments = intent?.data?.pathSegments + + if (host != null && pathSegments != null) { + val query = fromDankeFursLesen(pathSegments) + + if (query == null) { + Log.e("DankeFursLesenUrlActivity", "Unable to parse URI from intent $intent") + finish() + exitProcess(1) + } + + val mainIntent = Intent().apply { + action = "eu.kanade.tachiyomi.SEARCH" + putExtra("query", query) + putExtra("filter", packageName) + } + + try { + startActivity(mainIntent) + } catch (e: ActivityNotFoundException) { + Log.e("DankeFursLesenUrlActivity", e.toString()) + } + } + + finish() + exitProcess(0) + } + + private fun fromDankeFursLesen(pathSegments: MutableList<String>): String? { + return if (pathSegments.size >= 3) { + val slug = pathSegments[2] + "${DankeFursLesen.SLUG_PREFIX}$slug" + } else { + null + } + } +} diff --git a/src/en/guya/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/guya/default/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from src/en/guya/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/guya/default/res/mipmap-hdpi/ic_launcher.png diff --git a/src/en/guya/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/guya/default/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from src/en/guya/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/guya/default/res/mipmap-mdpi/ic_launcher.png diff --git a/src/en/guya/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/guya/default/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from src/en/guya/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/guya/default/res/mipmap-xhdpi/ic_launcher.png diff --git a/src/en/guya/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/guya/default/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from src/en/guya/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/guya/default/res/mipmap-xxhdpi/ic_launcher.png diff --git a/src/en/guya/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/guya/default/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from src/en/guya/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/guya/default/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/src/en/guya/res/web_hi_res_512.png b/multisrc/overrides/guya/default/res/web_hi_res_512.png similarity index 100% rename from src/en/guya/res/web_hi_res_512.png rename to multisrc/overrides/guya/default/res/web_hi_res_512.png diff --git a/src/en/guya/AndroidManifest.xml b/multisrc/overrides/guya/guya/AndroidManifest.xml similarity index 100% rename from src/en/guya/AndroidManifest.xml rename to multisrc/overrides/guya/guya/AndroidManifest.xml diff --git a/multisrc/overrides/guya/guya/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/guya/guya/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 000000000..3fed53ada Binary files /dev/null and b/multisrc/overrides/guya/guya/res/mipmap-hdpi/ic_launcher.png differ diff --git a/multisrc/overrides/guya/guya/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/guya/guya/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 000000000..b31500c56 Binary files /dev/null and b/multisrc/overrides/guya/guya/res/mipmap-mdpi/ic_launcher.png differ diff --git a/multisrc/overrides/guya/guya/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/guya/guya/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 000000000..325b12a21 Binary files /dev/null and b/multisrc/overrides/guya/guya/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/guya/guya/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/guya/guya/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..06c421da2 Binary files /dev/null and b/multisrc/overrides/guya/guya/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/guya/guya/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/guya/guya/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 000000000..76c5d0784 Binary files /dev/null and b/multisrc/overrides/guya/guya/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/guya/guya/res/web_hi_res_512.png b/multisrc/overrides/guya/guya/res/web_hi_res_512.png new file mode 100644 index 000000000..b367e0c8c Binary files /dev/null and b/multisrc/overrides/guya/guya/res/web_hi_res_512.png differ diff --git a/multisrc/overrides/guya/guya/src/Guya.kt b/multisrc/overrides/guya/guya/src/Guya.kt new file mode 100644 index 000000000..119f49363 --- /dev/null +++ b/multisrc/overrides/guya/guya/src/Guya.kt @@ -0,0 +1,11 @@ +package eu.kanade.tachiyomi.extension.en.guya + +import eu.kanade.tachiyomi.multisrc.guya.Guya + +class Guya : Guya("Guya", "https://guya.moe", "en"){ + companion object { + const val SLUG_PREFIX = "slug:" + const val PROXY_PREFIX = "proxy:" + const val NESTED_PROXY_API_PREFIX = "/proxy/api/" + } +} diff --git a/src/en/guya/src/eu/kanade/tachiyomi/extension/en/guya/GuyaUrlActivity.kt b/multisrc/overrides/guya/guya/src/GuyaUrlActivity.kt similarity index 100% rename from src/en/guya/src/eu/kanade/tachiyomi/extension/en/guya/GuyaUrlActivity.kt rename to multisrc/overrides/guya/guya/src/GuyaUrlActivity.kt diff --git a/src/en/guya/src/eu/kanade/tachiyomi/extension/en/guya/Guya.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/guya/Guya.kt similarity index 98% rename from src/en/guya/src/eu/kanade/tachiyomi/extension/en/guya/Guya.kt rename to multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/guya/Guya.kt index 46339b6d8..372c2d399 100644 --- a/src/en/guya/src/eu/kanade/tachiyomi/extension/en/guya/Guya.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/guya/Guya.kt @@ -1,4 +1,4 @@ -package eu.kanade.tachiyomi.extension.en.guya +package eu.kanade.tachiyomi.multisrc.guya import android.app.Application import android.content.SharedPreferences @@ -25,12 +25,12 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.util.HashMap -open class Guya : ConfigurableSource, HttpSource() { +abstract class Guya( + override val name: String, + override val baseUrl: String, + override val lang: String) : ConfigurableSource, HttpSource() { - final override val name = "Guya" - final override val baseUrl = "https://guya.moe" - final override val supportsLatest = false - final override val lang = "en" + override val supportsLatest = false private val scanlatorCacheUrl = "$baseUrl/api/get_all_groups" diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/guya/GuyaGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/guya/GuyaGenerator.kt new file mode 100644 index 000000000..6b018a90b --- /dev/null +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/guya/GuyaGenerator.kt @@ -0,0 +1,24 @@ +package eu.kanade.tachiyomi.multisrc.guya + +import generator.ThemeSourceData.SingleLang +import generator.ThemeSourceGenerator + +class GuyaGenerator : ThemeSourceGenerator { + + override val themePkg = "guya" + + override val themeClass = "Guya" + + override val baseVersionCode: Int = 1 + + override val sources = listOf( + SingleLang("Guya", "https://guya.moe", "en", overrideVersionCode = 18), + SingleLang("Danke fürs Lesen", "https://danke.moe", "en", className = "DankeFursLesen"), + ) + companion object { + @JvmStatic + fun main(args: Array<String>) { + GuyaGenerator().createAll() + } + } +} diff --git a/src/en/guya/build.gradle b/src/en/guya/build.gradle deleted file mode 100644 index 2c407b4e8..000000000 --- a/src/en/guya/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' - -ext { - extName = 'Guya' - pkgNameSuffix = "en.guya" - extClass = '.Guya' - extVersionCode = 18 - libVersion = '1.2' -} - -apply from: "$rootDir/common.gradle"