diff --git a/multisrc/overrides/mangadventure/arcrelight/AndroidManifest.xml b/multisrc/overrides/mangadventure/arcrelight/AndroidManifest.xml new file mode 100644 index 000000000..49b1edb7f --- /dev/null +++ b/multisrc/overrides/mangadventure/arcrelight/AndroidManifest.xml @@ -0,0 +1,21 @@ +<?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="eu.kanade.tachiyomi.multisrc.mangadventure.MangAdventureActivity" + android:theme="@android:style/Theme.NoDisplay" + android:excludeFromRecents="true"> + <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="arc-relight.com" + android:pathPattern="/reader/..*" + android:scheme="https"/> + <data android:host="www.arc-relight.com" + android:pathPattern="/reader/..*" + android:scheme="https"/> + </intent-filter> + </activity> + </application> +</manifest> diff --git a/multisrc/overrides/mangadventure/arcrelight/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangadventure/arcrelight/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 000000000..06bc0d4c7 Binary files /dev/null and b/multisrc/overrides/mangadventure/arcrelight/res/mipmap-hdpi/ic_launcher.png differ diff --git a/multisrc/overrides/mangadventure/arcrelight/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangadventure/arcrelight/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 000000000..ec764d715 Binary files /dev/null and b/multisrc/overrides/mangadventure/arcrelight/res/mipmap-mdpi/ic_launcher.png differ diff --git a/multisrc/overrides/mangadventure/arcrelight/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangadventure/arcrelight/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 000000000..1188217d4 Binary files /dev/null and b/multisrc/overrides/mangadventure/arcrelight/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/mangadventure/arcrelight/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangadventure/arcrelight/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..ee3a86327 Binary files /dev/null and b/multisrc/overrides/mangadventure/arcrelight/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/mangadventure/arcrelight/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangadventure/arcrelight/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 000000000..6c4608d73 Binary files /dev/null and b/multisrc/overrides/mangadventure/arcrelight/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/mangadventure/arcrelight/res/web_hi_res_512.png b/multisrc/overrides/mangadventure/arcrelight/res/web_hi_res_512.png new file mode 100644 index 000000000..dbf855d0a Binary files /dev/null and b/multisrc/overrides/mangadventure/arcrelight/res/web_hi_res_512.png differ diff --git a/multisrc/overrides/mangadventure/arcrelight/src/ArcRelight.kt b/multisrc/overrides/mangadventure/arcrelight/src/ArcRelight.kt new file mode 100644 index 000000000..7eaa0111a --- /dev/null +++ b/multisrc/overrides/mangadventure/arcrelight/src/ArcRelight.kt @@ -0,0 +1,27 @@ +package eu.kanade.tachiyomi.extension.en.arcrelight + +import eu.kanade.tachiyomi.multisrc.mangadventure.MangAdventure + +/** Arc-Relight source. */ +class ArcRelight : MangAdventure( + "Arc-Relight", + "https://arc-relight.com", + listOf( + "4-Koma", + "Chaos;Head", + "Collection", + "Comedy", + "Drama", + "Jubilee", + "Mystery", + "Psychological", + "Robotics;Notes", + "Romance", + "Sci-Fi", + "Seinen", + "Shounen", + "Steins;Gate", + "Supernatural", + "Tragedy" + ) +) diff --git a/src/all/mangadventure/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/mangadventure/default_res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from src/all/mangadventure/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/mangadventure/default_res/mipmap-hdpi/ic_launcher.png diff --git a/src/all/mangadventure/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/mangadventure/default_res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from src/all/mangadventure/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/mangadventure/default_res/mipmap-mdpi/ic_launcher.png diff --git a/src/all/mangadventure/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/mangadventure/default_res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from src/all/mangadventure/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/mangadventure/default_res/mipmap-xhdpi/ic_launcher.png diff --git a/src/all/mangadventure/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/mangadventure/default_res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from src/all/mangadventure/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/mangadventure/default_res/mipmap-xxhdpi/ic_launcher.png diff --git a/src/all/mangadventure/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/mangadventure/default_res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from src/all/mangadventure/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/mangadventure/default_res/mipmap-xxxhdpi/ic_launcher.png diff --git a/src/all/mangadventure/res/web_hi_res_512.png b/multisrc/overrides/mangadventure/default_res/web_hi_res_512.png similarity index 100% rename from src/all/mangadventure/res/web_hi_res_512.png rename to multisrc/overrides/mangadventure/default_res/web_hi_res_512.png diff --git a/src/all/mangadventure/src/eu/kanade/tachiyomi/extension/all/mangadventure/MangAdventure.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangadventure/MangAdventure.kt similarity index 95% rename from src/all/mangadventure/src/eu/kanade/tachiyomi/extension/all/mangadventure/MangAdventure.kt rename to multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangadventure/MangAdventure.kt index 0edc54b24..12661b697 100644 --- a/src/all/mangadventure/src/eu/kanade/tachiyomi/extension/all/mangadventure/MangAdventure.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangadventure/MangAdventure.kt @@ -1,8 +1,8 @@ -package eu.kanade.tachiyomi.extension.all.mangadventure +package eu.kanade.tachiyomi.multisrc.mangadventure import android.net.Uri import android.os.Build.VERSION -import eu.kanade.tachiyomi.extension.BuildConfig +import eu.kanade.tachiyomi.extensions.BuildConfig import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.asObservableSuccess import eu.kanade.tachiyomi.source.model.Filter @@ -29,7 +29,7 @@ import java.util.Locale abstract class MangAdventure( override val name: String, override val baseUrl: String, - val categories: Array<String> = DEFAULT_CATEGORIES + val categories: List<String> = DEFAULT_CATEGORIES ) : HttpSource() { override val versionId = 1 @@ -182,7 +182,7 @@ abstract class MangAdventure( private val STATUSES = arrayOf("Any", "Completed", "Ongoing") /** Manga categories from MangAdventure `categories.xml` fixture. */ - internal val DEFAULT_CATEGORIES = arrayOf( + internal val DEFAULT_CATEGORIES = listOf( "4-Koma", "Action", "Adventure", @@ -233,7 +233,7 @@ abstract class MangAdventure( * @param date The date to convert. * @return The timestamp of the date. */ - fun httpDateToTimestamp(date: String) = + internal fun httpDateToTimestamp(date: String) = SimpleDateFormat(HTTP_DATE, Locale.US).parse(date)?.time ?: 0L } @@ -244,7 +244,7 @@ abstract class MangAdventure( */ inner class Status : Filter.Select<String>("Status", STATUSES) { /** Returns the [state] as a string. */ - fun string() = values[state].toLowerCase(Locale(lang)) + fun string() = values[state].toLowerCase(Locale.ENGLISH) } /** @@ -268,8 +268,7 @@ abstract class MangAdventure( * @constructor Creates a [Filter.Group] object with categories. */ inner class CategoryList : Filter.Group<Category>( - "Categories", - categories.map(::Category) + "Categories", categories.map(::Category) ) /** diff --git a/src/all/mangadventure/src/eu/kanade/tachiyomi/extension/all/mangadventure/MangAdventureActivity.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangadventure/MangAdventureActivity.kt similarity index 80% rename from src/all/mangadventure/src/eu/kanade/tachiyomi/extension/all/mangadventure/MangAdventureActivity.kt rename to multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangadventure/MangAdventureActivity.kt index ef89678a7..689dab5dc 100644 --- a/src/all/mangadventure/src/eu/kanade/tachiyomi/extension/all/mangadventure/MangAdventureActivity.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangadventure/MangAdventureActivity.kt @@ -1,4 +1,4 @@ -package eu.kanade.tachiyomi.extension.all.mangadventure +package eu.kanade.tachiyomi.multisrc.mangadventure import android.app.Activity import android.content.ActivityNotFoundException @@ -26,13 +26,11 @@ class MangAdventureActivity : Activity() { } catch (ex: ActivityNotFoundException) { Log.e("MangAdventureActivity", ex.message, ex) } - } ?: logInvalidIntent(intent) + } ?: Log.e( + "MangAdventureActivity", + "Failed to parse URI from intent: $intent" + ) finish() exitProcess(0) } - - private fun logInvalidIntent(intent: Intent) = Log.e( - "MangAdventureActivity", - "Failed to parse URI from intent: $intent" - ) } diff --git a/src/all/mangadventure/src/eu/kanade/tachiyomi/extension/all/mangadventure/MangAdventureExtensions.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangadventure/MangAdventureExtensions.kt similarity index 98% rename from src/all/mangadventure/src/eu/kanade/tachiyomi/extension/all/mangadventure/MangAdventureExtensions.kt rename to multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangadventure/MangAdventureExtensions.kt index 1dd793644..14e3596c5 100644 --- a/src/all/mangadventure/src/eu/kanade/tachiyomi/extension/all/mangadventure/MangAdventureExtensions.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangadventure/MangAdventureExtensions.kt @@ -1,4 +1,4 @@ -package eu.kanade.tachiyomi.extension.all.mangadventure +package eu.kanade.tachiyomi.multisrc.mangadventure import android.net.Uri import eu.kanade.tachiyomi.source.model.SChapter diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangadventure/MangAdventureGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangadventure/MangAdventureGenerator.kt new file mode 100644 index 000000000..4e7b36884 --- /dev/null +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangadventure/MangAdventureGenerator.kt @@ -0,0 +1,21 @@ +package eu.kanade.tachiyomi.multisrc.mangadventure + +import eu.kanade.tachiyomi.multisrc.ThemeSourceData.SingleLang +import eu.kanade.tachiyomi.multisrc.ThemeSourceGenerator + +/** [MangAdventure] source generator. */ +class MangAdventureGenerator : ThemeSourceGenerator { + override val themePkg = "mangadventure" + + override val themeClass = "MangAdventure" + + override val baseVersionCode = 1 + + override val sources = listOf( + SingleLang("Arc-Relight", "https://arc-relight.com", "en", className = "ArcRelight"), + ) + + companion object { + @JvmStatic fun main(args: Array<String>) = MangAdventureGenerator().createAll() + } +} diff --git a/src/all/mangadventure/AndroidManifest.xml b/src/all/mangadventure/AndroidManifest.xml deleted file mode 100644 index 4f5e7d589..000000000 --- a/src/all/mangadventure/AndroidManifest.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?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=".all.mangadventure.MangAdventureActivity" - 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" /> - - <!-- MangAdventure sites can be added here. --> - <data - android:host="arc-relight.com" - android:pathPattern="/reader/..*" - android:scheme="https" /> - <data - android:host="reader.decadencescans.com" - android:pathPattern="/reader/..*" - android:scheme="https" /> - </intent-filter> - </activity> - </application> -</manifest> diff --git a/src/all/mangadventure/build.gradle b/src/all/mangadventure/build.gradle deleted file mode 100644 index 80bcbdfed..000000000 --- a/src/all/mangadventure/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' - -ext { - extName = 'MangAdventure' - pkgNameSuffix = 'all.mangadventure' - extClass = '.MangAdventureFactory' - extVersionCode = 8 - libVersion = '1.2' -} - -apply from: "$rootDir/common.gradle" diff --git a/src/all/mangadventure/src/eu/kanade/tachiyomi/extension/all/mangadventure/MangAdventureFactory.kt b/src/all/mangadventure/src/eu/kanade/tachiyomi/extension/all/mangadventure/MangAdventureFactory.kt deleted file mode 100644 index 9fe21e1a2..000000000 --- a/src/all/mangadventure/src/eu/kanade/tachiyomi/extension/all/mangadventure/MangAdventureFactory.kt +++ /dev/null @@ -1,34 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.mangadventure - -import eu.kanade.tachiyomi.source.SourceFactory - -/** [MangAdventure] source factory. */ -class MangAdventureFactory : SourceFactory { - override fun createSources() = listOf( - ArcRelight() - ) - - /** Arc-Relight source. */ - class ArcRelight : MangAdventure( - "Arc-Relight", - "https://arc-relight.com", - arrayOf( - "4-Koma", - "Chaos;Head", - "Collection", - "Comedy", - "Drama", - "Jubilee", - "Mystery", - "Psychological", - "Robotics;Notes", - "Romance", - "Sci-Fi", - "Seinen", - "Shounen", - "Steins;Gate", - "Supernatural", - "Tragedy" - ) - ) -}