From 52ea2259db51b2f0287c069586a57e857f880f4f Mon Sep 17 00:00:00 2001 From: Asheraf Date: Thu, 5 Oct 2023 19:19:49 +0100 Subject: [PATCH] Update mangalek url and add a preference for changing it (#18380) --- .../overrides/madara/mangalek/src/Mangalek.kt | 43 ++++++++++++++++++- .../multisrc/madara/MadaraGenerator.kt | 2 +- 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/multisrc/overrides/madara/mangalek/src/Mangalek.kt b/multisrc/overrides/madara/mangalek/src/Mangalek.kt index 1e2ccdf0e..8efd687f4 100644 --- a/multisrc/overrides/madara/mangalek/src/Mangalek.kt +++ b/multisrc/overrides/madara/mangalek/src/Mangalek.kt @@ -1,10 +1,51 @@ package eu.kanade.tachiyomi.extension.ar.mangalek +import android.app.Application +import android.content.SharedPreferences +import android.widget.Toast +import androidx.preference.PreferenceScreen +import eu.kanade.tachiyomi.extension.BuildConfig import eu.kanade.tachiyomi.multisrc.madara.Madara +import uy.kohesive.injekt.Injekt +import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale -class Mangalek : Madara("مانجا ليك", "https://mangalek.com", "ar", SimpleDateFormat("MMMM dd, yyyy", Locale("ar"))) { +class Mangalek : Madara("مانجا ليك", "https://manga-lek.net", "ar", SimpleDateFormat("MMMM dd, yyyy", Locale("ar"))) { override val chapterUrlSuffix = "" + + private val defaultBaseUrl = "https://manga-lek.net" + override val baseUrl by lazy { getPrefBaseUrl() } + + private val preferences: SharedPreferences by lazy { + Injekt.get().getSharedPreferences("source_$id", 0x0000) + } + + companion object { + private const val RESTART_TACHIYOMI = ".لتطبيق الإعدادات الجديدة Tachiyomi أعد تشغيل" + private const val BASE_URL_PREF_TITLE = "تعديل الرابط" + private const val BASE_URL_PREF = "overrideBaseUrl_v${BuildConfig.VERSION_CODE}" + private const val BASE_URL_PREF_SUMMARY = ".للاستخدام المؤقت. تحديث التطبيق سيؤدي الى حذف الإعدادات" + } + + override fun setupPreferenceScreen(screen: PreferenceScreen) { + val baseUrlPref = androidx.preference.EditTextPreference(screen.context).apply { + key = BASE_URL_PREF + title = BASE_URL_PREF_TITLE + summary = BASE_URL_PREF_SUMMARY + this.setDefaultValue(defaultBaseUrl) + dialogTitle = BASE_URL_PREF_TITLE + + setOnPreferenceChangeListener { _, _ -> + Toast.makeText(screen.context, RESTART_TACHIYOMI, Toast.LENGTH_LONG).show() + true + } + } + screen.addPreference(baseUrlPref) + + super.setupPreferenceScreen(screen) + } + + private fun getPrefBaseUrl(): String = preferences.getString(BASE_URL_PREF, defaultBaseUrl)!! } diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt index 4deaa3085..ff9b320f9 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt @@ -519,7 +519,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("شبكة كونان العربية", "https://manga.detectiveconanar.com", "ar", className = "DetectiveConanAr", overrideVersionCode = 2), SingleLang("عرب تونز", "https://arabtoons.net", "ar", isNsfw = true, className = "ArabToons"), SingleLang("مانجا العاشق", "https://3asq.org", "ar", className = "Manga3asq", overrideVersionCode = 2), - SingleLang("مانجا ليك", "https://mangalek.com", "ar", className = "Mangalek", overrideVersionCode = 2), + SingleLang("مانجا ليك", "https://manga-lek.net", "ar", className = "Mangalek", overrideVersionCode = 3), SingleLang("مانجا ليكس", "https://mangaleks.com", "ar", className = "MangaLeks"), SingleLang("مانجا لينك", "https://mangalink.io", "ar", className = "MangaLinkio", overrideVersionCode = 3), SingleLang("كوميك العرب", "https://comicarab.com", "ar", isNsfw = true, className = "ComicArab"),