From 060473aedf2384714dc13d1b896b8e9921d61821 Mon Sep 17 00:00:00 2001 From: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> Date: Sat, 8 Mar 2025 15:43:22 +0500 Subject: [PATCH] use Preferences functions from utils (#7757) * import all temporarily * use `getPreferencesLazy()` regex: lazy\s*\{\s*Injekt\.get\(\)\.getSharedPreferences\(\"source_\$id\"\, 0x0000\)(!!)?\s*\} * use `getPreferences()` regex: Injekt\.get\(\)\.getSharedPreferences\(\"source_\$id\"\, 0x0000\)(!!)? * `getPreferences` and `getPreferencesLazy` with migration regex to find: getPreferences\(\)\s*\. * preferences edge cases * run lint * why kotlinter not add newline * bruh * bump * unused import not caught by kotlinter * review suggestions on all files * bump after merge main * review * reduce usage of --- lib-multisrc/bakkin/build.gradle.kts | 2 +- .../multisrc/bakkin/BakkinReaderX.kt | 6 ++--- lib-multisrc/colamanga/build.gradle.kts | 2 +- .../tachiyomi/multisrc/colamanga/ColaManga.kt | 5 ++--- lib-multisrc/foolslide/build.gradle.kts | 2 +- .../tachiyomi/multisrc/foolslide/FoolSlide.kt | 6 ++--- lib-multisrc/galleryadults/build.gradle.kts | 2 +- .../multisrc/galleryadults/GalleryAdults.kt | 8 ++----- lib-multisrc/grouple/build.gradle.kts | 2 +- .../tachiyomi/multisrc/grouple/GroupLe.kt | 8 ++----- lib-multisrc/guya/build.gradle.kts | 2 +- .../eu/kanade/tachiyomi/multisrc/guya/Guya.kt | 8 ++----- lib-multisrc/heancms/build.gradle.kts | 2 +- .../tachiyomi/multisrc/heancms/HeanCms.kt | 8 ++----- lib-multisrc/hentaihand/build.gradle.kts | 2 +- .../multisrc/hentaihand/HentaiHand.kt | 8 ++----- lib-multisrc/kemono/build.gradle.kts | 2 +- .../tachiyomi/multisrc/kemono/Kemono.kt | 7 ++---- lib-multisrc/keyoapp/build.gradle.kts | 2 +- .../tachiyomi/multisrc/keyoapp/Keyoapp.kt | 8 ++----- lib-multisrc/libgroup/build.gradle.kts | 2 +- .../tachiyomi/multisrc/libgroup/LibGroup.kt | 16 +++++--------- .../machinetranslations/build.gradle.kts | 2 +- .../MachineTranslations.kt | 8 ++----- .../mangathemesia/MangaThemesiaAlt.kt | 18 ++++++--------- src/all/akuma/build.gradle | 2 +- .../tachiyomi/extension/all/akuma/Akuma.kt | 8 ++----- src/all/batoto/build.gradle | 2 +- .../tachiyomi/extension/all/batoto/BatoTo.kt | 10 +++------ src/all/comicfury/build.gradle | 2 +- .../extension/all/comicfury/ComicFury.kt | 8 ++----- src/all/comickfun/build.gradle | 2 +- .../extension/all/comickfun/Comick.kt | 16 +++++--------- src/all/comicskingdom/build.gradle | 2 +- .../all/comicskingdom/ComicsKingdom.kt | 8 ++----- src/all/comikey/build.gradle | 2 +- .../extension/all/comikey/Comikey.kt | 5 ++--- .../extension/all/danbooru/Filters.kt | 1 + src/all/deviantart/build.gradle | 2 +- .../extension/all/deviantart/DeviantArt.kt | 8 ++----- src/all/ehentai/build.gradle | 2 +- .../extension/all/ehentai/EHentai.kt | 8 ++----- src/all/galaxy/build.gradle | 2 +- .../extension/all/galaxy/GalaxyFactory.kt | 8 ++----- src/all/hentai3/build.gradle | 16 +++++++------- .../extension/all/hentai3/Hentai3.kt | 2 +- .../extension/all/hentai3/Hentai3Filters.kt | 2 +- src/all/hentaiera/build.gradle | 20 ++++++++--------- .../extension/all/hentaiera/HentaiEra.kt | 2 +- .../all/hentaiera/HentaiEraFactory.kt | 2 +- src/all/hitomi/build.gradle | 2 +- .../tachiyomi/extension/all/hitomi/Hitomi.kt | 8 ++----- src/all/izneo/build.gradle | 2 +- .../tachiyomi/extension/all/izneo/Izneo.kt | 6 ++--- src/all/koharu/build.gradle | 16 +++++++------- .../tachiyomi/extension/all/koharu/Koharu.kt | 8 ++----- .../extension/all/koharu/KoharuDto.kt | 2 +- .../extension/all/koharu/KoharuFactory.kt | 2 +- .../extension/all/koharu/KoharuFilters.kt | 2 +- src/all/komga/build.gradle | 22 +++++++++---------- .../tachiyomi/extension/all/komga/Komga.kt | 8 ++----- src/all/lanraragi/build.gradle | 2 +- .../extension/all/lanraragi/LANraragi.kt | 6 ++--- src/all/luscious/build.gradle | 2 +- .../extension/all/luscious/Luscious.kt | 8 ++----- src/all/manga18me/build.gradle | 18 +++++++-------- .../extension/all/manga18me/Filters.kt | 2 +- .../extension/all/manga18me/Manga18Me.kt | 2 +- src/all/mangadex/build.gradle | 2 +- .../extension/all/mangadex/MangaDex.kt | 15 ++++--------- src/all/mangafire/build.gradle | 2 +- .../extension/all/mangafire/MangaFire.kt | 8 ++----- src/all/mangapark/build.gradle | 2 +- .../extension/all/mangapark/MangaPark.kt | 7 ++---- .../extension/all/mangaplus/MangaPlus.kt | 8 ++----- src/all/mangareaderto/build.gradle | 2 +- .../all/mangareaderto/MangaReader.kt | 9 +++----- src/all/mango/build.gradle | 2 +- .../tachiyomi/extension/all/mango/Mango.kt | 8 ++----- src/all/meituatop/build.gradle | 16 +++++++------- .../extension/all/meituatop/MeituaTop.kt | 2 +- src/all/namicomi/build.gradle | 2 +- .../extension/all/namicomi/NamiComi.kt | 8 ++----- src/all/nhentai/build.gradle | 2 +- .../extension/all/nhentai/NHentai.kt | 8 ++----- src/all/novelcool/build.gradle | 2 +- .../extension/all/novelcool/NovelCool.kt | 8 ++----- src/all/peppercarrot/build.gradle | 2 +- .../all/peppercarrot/PepperCarrot.kt | 9 +++----- src/all/photos18/build.gradle | 2 +- .../extension/all/photos18/Photos18.kt | 8 ++----- .../extension/all/pixiv/PixivFilters.kt | 1 + .../extension/all/pixiv/PixivTypes.kt | 1 + src/all/projectsuki/build.gradle | 2 +- .../extension/all/projectsuki/ProjectSuki.kt | 3 ++- .../all/projectsuki/ProjectSukiPreferences.kt | 7 +----- src/all/pururin/build.gradle | 16 +++++++------- .../extension/all/pururin/Pururin.kt | 2 +- .../extension/all/pururin/PururinFactory.kt | 2 +- .../extension/all/pururin/PururinFilters.kt | 2 +- src/all/simplycosplay/build.gradle | 2 +- .../all/simplycosplay/SimplyCosplay.kt | 8 ++----- src/all/simplyhentai/build.gradle | 2 +- .../all/simplyhentai/SimplyHentai.kt | 8 ++----- src/all/solarmtl/build.gradle | 20 ++++++++--------- .../extension/all/solarmtl/Solarmtl.kt | 2 +- .../extension/all/solarmtl/SolarmtlFactory.kt | 2 +- src/all/thunderscans/build.gradle | 2 +- src/all/webtoons/build.gradle | 2 +- .../extension/all/webtoons/WebtoonsSrc.kt | 8 ++----- src/ar/dilar/build.gradle | 2 +- .../tachiyomi/extension/ar/dilar/Dilar.kt | 8 ++----- src/ar/empirewebtoon/build.gradle | 2 +- .../ar/empirewebtoon/EmpireWebtoon.kt | 7 ++---- src/ar/hentaislayer/build.gradle | 2 +- .../extension/ar/hentaislayer/HentaiSlayer.kt | 8 ++----- src/ar/mangalek/build.gradle | 2 +- .../extension/ar/mangalek/Mangalek.kt | 8 ++----- src/ar/mangalink/build.gradle | 2 +- .../extension/ar/mangalink/Mangalink.kt | 8 ++----- src/ar/mangaswat/build.gradle | 2 +- .../extension/ar/mangaswat/MangaSwat.kt | 8 ++----- src/ar/teamx/build.gradle | 2 +- .../tachiyomi/extension/ar/teamx/TeamX.kt | 8 ++----- src/en/allanime/build.gradle | 2 +- .../extension/en/allanime/AllManga.kt | 8 ++----- src/en/asurascans/build.gradle | 2 +- .../extension/en/asurascans/AsuraScans.kt | 7 ++---- src/en/clowncorps/build.gradle | 2 +- .../extension/en/clowncorps/ClownCorps.kt | 8 ++----- src/en/constellarscans/build.gradle | 2 +- .../en/constellarscans/ConstellarScans.kt | 8 ++----- src/en/grrlpower/build.gradle | 2 +- .../extension/en/grrlpower/GrrlPower.kt | 8 ++----- src/en/hiperdex/build.gradle | 2 +- .../extension/en/hiperdex/Hiperdex.kt | 7 ++---- src/en/lunarscans/build.gradle | 2 +- .../extension/en/lunarscans/LunarScans.kt | 6 ++--- src/en/madokami/build.gradle | 2 +- .../extension/en/madokami/Madokami.kt | 8 ++----- src/en/mangadistrict/build.gradle | 2 +- .../en/mangadistrict/MangaDistrict.kt | 8 ++----- src/en/mangago/build.gradle | 2 +- .../tachiyomi/extension/en/mangago/Mangago.kt | 8 ++----- src/en/mangahen/build.gradle | 16 +++++++------- .../extension/en/mangahen/MangaHen.kt | 2 +- .../extension/en/mangahen/MangaHenFilters.kt | 2 +- src/en/mangakatana/build.gradle | 2 +- .../extension/en/mangakatana/MangaKatana.kt | 8 ++----- src/en/mangamo/build.gradle | 2 +- .../tachiyomi/extension/en/mangamo/Mangamo.kt | 8 ++----- src/en/monochromecustom/build.gradle | 2 +- .../en/monochromecustom/MonochromeCustom.kt | 8 ++----- src/en/nightscans/build.gradle | 2 +- src/en/questionablecontent/build.gradle | 2 +- .../QuestionableContent.kt | 8 ++----- src/en/readcomiconline/build.gradle | 2 +- .../en/readcomiconline/Readcomiconline.kt | 5 ++--- .../en/reaperscans/ReaperScansDto.kt | 1 + src/en/rizzcomic/build.gradle | 2 +- src/en/tapastic/build.gradle | 2 +- .../extension/en/tapastic/Tapastic.kt | 8 ++----- src/en/tcbscans/build.gradle | 2 +- .../extension/en/tcbscans/TCBScans.kt | 3 ++- src/en/theblank/build.gradle | 2 +- .../extension/en/theblank/TheBlank.kt | 6 ++--- src/en/webcomics/build.gradle | 2 +- .../extension/en/webcomics/Webcomics.kt | 6 ++--- src/es/emperorscan/build.gradle | 2 +- .../extension/es/emperorscan/EmperorScan.kt | 7 ++---- src/es/ikigaimangas/build.gradle | 2 +- .../extension/es/ikigaimangas/IkigaiMangas.kt | 7 ++---- src/es/lectortmo/build.gradle | 2 +- .../extension/es/lectortmo/LectorTmo.kt | 8 ++----- src/es/mangacrab/build.gradle | 2 +- .../extension/es/mangacrab/MangaCrab.kt | 7 ++---- src/es/mangamx/build.gradle | 2 +- .../extension/es/mangamx/MangaOni.kt | 8 ++----- src/es/noblessetranslations/build.gradle | 2 +- .../NoblesseTranslations.kt | 7 ++---- src/es/olympusscanlation/build.gradle | 2 +- .../es/olympusscanlation/OlympusScanlation.kt | 7 ++---- src/es/plottwistnofansub/build.gradle | 2 +- .../es/plottwistnofansub/PlotTwistNoFansub.kt | 7 ++---- src/es/tmohentai/build.gradle | 2 +- .../extension/es/tmohentai/TMOHentai.kt | 8 ++----- src/fr/japanread/build.gradle | 2 +- .../extension/fr/japanread/BentoManga.kt | 6 ++--- src/fr/japscan/build.gradle | 2 +- .../tachiyomi/extension/fr/japscan/Japscan.kt | 5 ++--- src/fr/sushiscan/build.gradle | 2 +- .../extension/fr/sushiscan/SushiScan.kt | 6 ++--- src/id/doujindesu/build.gradle | 2 +- .../extension/id/doujindesu/DoujinDesu.kt | 8 ++----- src/id/doujinku/build.gradle | 2 +- .../extension/id/doujinku/Doujinku.kt | 7 ++---- src/id/shinigami/build.gradle | 2 +- .../extension/id/shinigami/Shinigami.kt | 8 ++----- src/ja/manga9co/build.gradle | 2 +- .../extension/ja/manga9co/MangaRaw.kt | 6 ++--- src/ko/newtoki/build.gradle | 2 +- .../extension/ko/newtoki/Preferences.kt | 11 +++------- src/ko/toonkor/build.gradle | 2 +- .../tachiyomi/extension/ko/toonkor/Toonkor.kt | 8 ++----- src/ko/wolfdotcom/build.gradle | 2 +- .../tachiyomi/extension/ko/wolfdotcom/Wolf.kt | 8 ++----- src/pt/bakai/build.gradle | 2 +- .../tachiyomi/extension/pt/bakai/Bakai.kt | 7 ++---- src/pt/blackoutcomics/build.gradle | 2 +- .../pt/blackoutcomics/BlackoutComics.kt | 7 ++---- .../extension/pt/fenixmanhwas/FenixManhwas.kt | 1 + src/pt/hentaiteca/build.gradle | 2 +- .../extension/pt/hentaiteca/HentaiTeca.kt | 6 ++--- src/pt/mangaonline/build.gradle | 2 +- .../extension/pt/mangaonline/MangaOnline.kt | 7 ++---- src/pt/randomscan/build.gradle | 2 +- .../extension/pt/randomscan/LuraToon.kt | 8 ++----- src/pt/remangas/build.gradle | 2 +- .../extension/pt/remangas/Remangas.kt | 8 ++----- src/pt/sssscanlator/build.gradle | 2 +- .../extension/pt/sssscanlator/YomuComics.kt | 6 ++--- src/pt/sussyscan/build.gradle | 2 +- .../extension/pt/sussyscan/SussyToons.kt | 7 ++---- src/pt/taiyo/build.gradle | 2 +- .../tachiyomi/extension/pt/taiyo/Taiyo.kt | 7 ++---- src/ru/allhentai/build.gradle | 2 +- .../extension/ru/allhentai/AllHentai.kt | 6 ++--- src/ru/desu/build.gradle | 2 +- .../tachiyomi/extension/ru/desu/Desu.kt | 7 ++---- src/ru/henchan/build.gradle | 2 +- .../tachiyomi/extension/ru/henchan/HenChan.kt | 8 ++----- src/ru/hentailib/build.gradle | 2 +- .../extension/ru/hentailib/HentaiLib.kt | 8 ++----- src/ru/mangalib/build.gradle | 2 +- .../extension/ru/mangalib/MangaLib.kt | 8 ++----- src/ru/mintmanga/build.gradle | 2 +- .../extension/ru/mintmanga/MintManga.kt | 7 ++---- src/ru/nudemoon/build.gradle | 2 +- .../extension/ru/nudemoon/Nudemoon.kt | 7 ++---- src/ru/readmanga/build.gradle | 2 +- .../extension/ru/readmanga/ReadManga.kt | 7 ++---- src/ru/rumix/build.gradle | 2 +- .../tachiyomi/extension/ru/rumix/RuMIX.kt | 7 ++---- src/ru/seimanga/build.gradle | 2 +- .../extension/ru/seimanga/SeiManga.kt | 7 ++---- src/ru/selfmanga/build.gradle | 2 +- .../extension/ru/selfmanga/SelfManga.kt | 7 ++---- src/ru/senkognito/build.gradle | 2 +- .../extension/ru/senkognito/Senkognito.kt | 8 ++----- src/ru/usagi/build.gradle | 2 +- .../tachiyomi/extension/ru/usagi/Usagi.kt | 7 ++---- src/ru/yaoilib/build.gradle | 2 +- .../tachiyomi/extension/ru/yaoilib/YaoiLib.kt | 8 ++----- src/vi/goctruyentranh/build.gradle | 2 +- .../vi/goctruyentranh/GocTruyenTranh.kt | 7 ++---- src/vi/hentaivnplus/build.gradle | 2 +- .../extension/vi/hentaivnplus/HentaiVNPlus.kt | 7 ++---- src/vi/lxhentai/build.gradle | 2 +- .../extension/vi/lxhentai/LxHentai.kt | 7 ++---- src/vi/sayhentai/build.gradle | 2 +- .../extension/vi/sayhentai/SayHentai.kt | 7 ++---- src/vi/truyengg/build.gradle | 2 +- .../extension/vi/truyengg/TruyenGG.kt | 7 ++---- src/vi/truyenvn/build.gradle | 2 +- .../extension/vi/truyenvn/TruyenVN.kt | 7 ++---- src/vi/ungtycomics/build.gradle | 2 +- .../extension/vi/ungtycomics/UngTyComics.kt | 8 ++----- src/vi/vlogtruyen/build.gradle | 2 +- .../extension/vi/vlogtruyen/VlogTruyen.kt | 7 ++---- src/vi/xxmanhwa/build.gradle | 2 +- .../extension/vi/xxmanhwa/XxManhwa.kt | 8 ++----- src/vi/yurineko/build.gradle | 2 +- .../extension/vi/yurineko/YuriNeko.kt | 7 ++---- src/zh/baimangu/build.gradle | 2 +- .../extension/zh/baimangu/Baimangu.kt | 8 ++----- src/zh/baozimanhua/build.gradle | 2 +- .../extension/zh/baozimanhua/Baozi.kt | 7 ++---- src/zh/baozimhorg/build.gradle | 2 +- .../extension/zh/baozimhorg/GoDaManhua.kt | 4 ++-- src/zh/bilibilimanga/build.gradle | 2 +- .../extension/zh/bilibilimanga/Bilibili.kt | 8 ++----- src/zh/boylove/build.gradle | 2 +- .../tachiyomi/extension/zh/boylove/BoyLove.kt | 7 ++---- src/zh/cartoon18/build.gradle | 2 +- .../extension/zh/cartoon18/Cartoon18.kt | 7 ++---- src/zh/dm5/build.gradle | 2 +- .../kanade/tachiyomi/extension/zh/dm5/Dm5.kt | 7 ++---- src/zh/dmzj/build.gradle | 2 +- .../tachiyomi/extension/zh/dmzj/Dmzj.kt | 7 ++---- src/zh/happymh/build.gradle | 2 +- .../tachiyomi/extension/zh/happymh/Happymh.kt | 6 ++--- src/zh/jinmantiantang/build.gradle | 2 +- .../zh/jinmantiantang/Jinmantiantang.kt | 5 ++--- .../JinmantiantangPreferences.kt | 20 +++++++---------- src/zh/mangabz/build.gradle | 2 +- .../tachiyomi/extension/zh/mangabz/Mangabz.kt | 6 ++--- src/zh/manhuagui/build.gradle | 2 +- .../extension/zh/manhuagui/Manhuagui.kt | 8 ++----- src/zh/manhuaren/build.gradle | 2 +- .../extension/zh/manhuaren/Manhuaren.kt | 7 ++---- src/zh/manwa/build.gradle | 2 +- .../tachiyomi/extension/zh/manwa/Manwa.kt | 7 ++---- src/zh/noyacg/build.gradle | 2 +- .../tachiyomi/extension/zh/noyacg/NoyAcg.kt | 8 ++----- src/zh/picacomic/build.gradle | 2 +- .../extension/zh/picacomic/Picacomic.kt | 7 ++---- src/zh/roumanwu/build.gradle | 2 +- .../extension/zh/roumanwu/Roumanwu.kt | 7 ++---- src/zh/vomic/build.gradle | 2 +- .../tachiyomi/extension/zh/vomic/Vomic.kt | 6 ++--- src/zh/wnacg/build.gradle | 2 +- .../extension/zh/wnacg/Preferences.kt | 20 +++++++---------- .../tachiyomi/extension/zh/wnacg/wnacg.kt | 3 ++- src/zh/yidan/build.gradle | 2 +- .../tachiyomi/extension/zh/yidan/Yidan.kt | 6 ++--- src/zh/zaimanhua/build.gradle | 2 +- .../extension/zh/zaimanhua/Zaimanhua.kt | 7 ++---- src/zh/zerobyw/build.gradle | 2 +- .../extension/zh/zerobyw/UpdateUrl.kt | 6 ++--- .../tachiyomi/extension/zh/zerobyw/Zerobyw.kt | 9 ++------ 320 files changed, 567 insertions(+), 1043 deletions(-) diff --git a/lib-multisrc/bakkin/build.gradle.kts b/lib-multisrc/bakkin/build.gradle.kts index ede652be5..f0ad544d5 100644 --- a/lib-multisrc/bakkin/build.gradle.kts +++ b/lib-multisrc/bakkin/build.gradle.kts @@ -2,4 +2,4 @@ plugins { id("lib-multisrc") } -baseVersionCode = 6 +baseVersionCode = 7 diff --git a/lib-multisrc/bakkin/src/eu/kanade/tachiyomi/multisrc/bakkin/BakkinReaderX.kt b/lib-multisrc/bakkin/src/eu/kanade/tachiyomi/multisrc/bakkin/BakkinReaderX.kt index dc89a458a..dba0c5b9c 100644 --- a/lib-multisrc/bakkin/src/eu/kanade/tachiyomi/multisrc/bakkin/BakkinReaderX.kt +++ b/lib-multisrc/bakkin/src/eu/kanade/tachiyomi/multisrc/bakkin/BakkinReaderX.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.multisrc.bakkin -import android.app.Application import android.os.Build import androidx.preference.ListPreference import androidx.preference.PreferenceScreen @@ -14,6 +13,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromJsonElement import kotlinx.serialization.json.jsonObject @@ -33,9 +33,7 @@ abstract class BakkinReaderX( "Android ${Build.VERSION.RELEASE}; Mobile) " + "Tachiyomi/${AppInfo.getVersionName()}" - protected val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000)!! - } + protected val preferences by getPreferencesLazy() private val json by lazy { Injekt.get() } diff --git a/lib-multisrc/colamanga/build.gradle.kts b/lib-multisrc/colamanga/build.gradle.kts index 32aad01eb..b736bb247 100644 --- a/lib-multisrc/colamanga/build.gradle.kts +++ b/lib-multisrc/colamanga/build.gradle.kts @@ -2,7 +2,7 @@ plugins { id("lib-multisrc") } -baseVersionCode = 7 +baseVersionCode = 8 dependencies { api(project(":lib:synchrony")) diff --git a/lib-multisrc/colamanga/src/eu/kanade/tachiyomi/multisrc/colamanga/ColaManga.kt b/lib-multisrc/colamanga/src/eu/kanade/tachiyomi/multisrc/colamanga/ColaManga.kt index 6d7b9ed5b..b531789b7 100644 --- a/lib-multisrc/colamanga/src/eu/kanade/tachiyomi/multisrc/colamanga/ColaManga.kt +++ b/lib-multisrc/colamanga/src/eu/kanade/tachiyomi/multisrc/colamanga/ColaManga.kt @@ -19,6 +19,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.json.Json import kotlinx.serialization.json.jsonArray import kotlinx.serialization.json.jsonObject @@ -46,9 +47,7 @@ abstract class ColaManga( private val intl = ColaMangaIntl(lang) - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences by getPreferencesLazy() override val client = network.cloudflareClient.newBuilder() .rateLimitHost( diff --git a/lib-multisrc/foolslide/build.gradle.kts b/lib-multisrc/foolslide/build.gradle.kts index e2f11e9c1..6e70fd158 100644 --- a/lib-multisrc/foolslide/build.gradle.kts +++ b/lib-multisrc/foolslide/build.gradle.kts @@ -2,4 +2,4 @@ plugins { id("lib-multisrc") } -baseVersionCode = 3 +baseVersionCode = 4 diff --git a/lib-multisrc/foolslide/src/eu/kanade/tachiyomi/multisrc/foolslide/FoolSlide.kt b/lib-multisrc/foolslide/src/eu/kanade/tachiyomi/multisrc/foolslide/FoolSlide.kt index 34eacf257..2afd55562 100644 --- a/lib-multisrc/foolslide/src/eu/kanade/tachiyomi/multisrc/foolslide/FoolSlide.kt +++ b/lib-multisrc/foolslide/src/eu/kanade/tachiyomi/multisrc/foolslide/FoolSlide.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.multisrc.foolslide -import android.app.Application import androidx.preference.CheckBoxPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.network.GET @@ -12,6 +11,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.json.Json import kotlinx.serialization.json.jsonArray import kotlinx.serialization.json.jsonObject @@ -273,9 +273,7 @@ abstract class FoolSlide( override fun imageUrlParse(document: Document) = throw UnsupportedOperationException() - protected val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000)!! - } + protected val preferences by getPreferencesLazy() override fun setupPreferenceScreen(screen: PreferenceScreen) { CheckBoxPreference(screen.context).apply { diff --git a/lib-multisrc/galleryadults/build.gradle.kts b/lib-multisrc/galleryadults/build.gradle.kts index 6e70fd158..b45873b53 100644 --- a/lib-multisrc/galleryadults/build.gradle.kts +++ b/lib-multisrc/galleryadults/build.gradle.kts @@ -2,4 +2,4 @@ plugins { id("lib-multisrc") } -baseVersionCode = 4 +baseVersionCode = 5 diff --git a/lib-multisrc/galleryadults/src/eu/kanade/tachiyomi/multisrc/galleryadults/GalleryAdults.kt b/lib-multisrc/galleryadults/src/eu/kanade/tachiyomi/multisrc/galleryadults/GalleryAdults.kt index 6a23b9922..ee9cadc83 100644 --- a/lib-multisrc/galleryadults/src/eu/kanade/tachiyomi/multisrc/galleryadults/GalleryAdults.kt +++ b/lib-multisrc/galleryadults/src/eu/kanade/tachiyomi/multisrc/galleryadults/GalleryAdults.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.multisrc.galleryadults -import android.app.Application import android.content.SharedPreferences import android.util.Log import androidx.preference.PreferenceScreen @@ -18,6 +17,7 @@ import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.UpdateStrategy import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job @@ -36,8 +36,6 @@ import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat @@ -56,9 +54,7 @@ abstract class GalleryAdults( .build() /* Preferences */ - protected val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + protected val preferences: SharedPreferences by getPreferencesLazy() protected open val useShortTitlePreference = true diff --git a/lib-multisrc/grouple/build.gradle.kts b/lib-multisrc/grouple/build.gradle.kts index 2fc011acf..87841af2c 100644 --- a/lib-multisrc/grouple/build.gradle.kts +++ b/lib-multisrc/grouple/build.gradle.kts @@ -2,4 +2,4 @@ plugins { id("lib-multisrc") } -baseVersionCode = 30 +baseVersionCode = 31 diff --git a/lib-multisrc/grouple/src/eu/kanade/tachiyomi/multisrc/grouple/GroupLe.kt b/lib-multisrc/grouple/src/eu/kanade/tachiyomi/multisrc/grouple/GroupLe.kt index 4d92a8295..4c525ad28 100644 --- a/lib-multisrc/grouple/src/eu/kanade/tachiyomi/multisrc/grouple/GroupLe.kt +++ b/lib-multisrc/grouple/src/eu/kanade/tachiyomi/multisrc/grouple/GroupLe.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.multisrc.grouple -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import eu.kanade.tachiyomi.network.GET @@ -14,6 +13,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient @@ -22,8 +22,6 @@ import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.io.IOException import java.text.DecimalFormat import java.text.ParseException @@ -37,9 +35,7 @@ abstract class GroupLe( final override val lang: String, ) : ConfigurableSource, ParsedHttpSource() { - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override val supportsLatest = true diff --git a/lib-multisrc/guya/build.gradle.kts b/lib-multisrc/guya/build.gradle.kts index b45873b53..ede652be5 100644 --- a/lib-multisrc/guya/build.gradle.kts +++ b/lib-multisrc/guya/build.gradle.kts @@ -2,4 +2,4 @@ plugins { id("lib-multisrc") } -baseVersionCode = 5 +baseVersionCode = 6 diff --git a/lib-multisrc/guya/src/eu/kanade/tachiyomi/multisrc/guya/Guya.kt b/lib-multisrc/guya/src/eu/kanade/tachiyomi/multisrc/guya/Guya.kt index 605a279ec..3427d48e6 100644 --- a/lib-multisrc/guya/src/eu/kanade/tachiyomi/multisrc/guya/Guya.kt +++ b/lib-multisrc/guya/src/eu/kanade/tachiyomi/multisrc/guya/Guya.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.multisrc.guya -import android.app.Application import android.content.SharedPreferences import android.os.Build import androidx.preference.ListPreference @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import okhttp3.Headers import okhttp3.Request import okhttp3.Response @@ -25,8 +25,6 @@ import org.jsoup.Jsoup import org.jsoup.select.Evaluator import rx.Observable import rx.schedulers.Schedulers -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get abstract class Guya( override val name: String, @@ -48,9 +46,7 @@ abstract class Guya( private val scanlators: ScanlatorStore = ScanlatorStore() // Preferences configuration - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() // Request builder for the "browse" page of the manga override fun popularMangaRequest(page: Int): Request { diff --git a/lib-multisrc/heancms/build.gradle.kts b/lib-multisrc/heancms/build.gradle.kts index ac3762176..73f9e980b 100644 --- a/lib-multisrc/heancms/build.gradle.kts +++ b/lib-multisrc/heancms/build.gradle.kts @@ -2,7 +2,7 @@ plugins { id("lib-multisrc") } -baseVersionCode = 28 +baseVersionCode = 29 dependencies { api(project(":lib:i18n")) diff --git a/lib-multisrc/heancms/src/eu/kanade/tachiyomi/multisrc/heancms/HeanCms.kt b/lib-multisrc/heancms/src/eu/kanade/tachiyomi/multisrc/heancms/HeanCms.kt index cd1be5660..41355a9a2 100644 --- a/lib-multisrc/heancms/src/eu/kanade/tachiyomi/multisrc/heancms/HeanCms.kt +++ b/lib-multisrc/heancms/src/eu/kanade/tachiyomi/multisrc/heancms/HeanCms.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.multisrc.heancms -import android.app.Application import android.content.SharedPreferences import androidx.preference.EditTextPreference import androidx.preference.PreferenceScreen @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json @@ -26,8 +26,6 @@ import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale import kotlin.concurrent.thread @@ -39,9 +37,7 @@ abstract class HeanCms( protected val apiUrl: String = baseUrl.replace("://", "://api."), ) : ConfigurableSource, HttpSource() { - protected val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + protected val preferences: SharedPreferences by getPreferencesLazy() override val supportsLatest = true diff --git a/lib-multisrc/hentaihand/build.gradle.kts b/lib-multisrc/hentaihand/build.gradle.kts index 9dce2478c..e2f11e9c1 100644 --- a/lib-multisrc/hentaihand/build.gradle.kts +++ b/lib-multisrc/hentaihand/build.gradle.kts @@ -2,4 +2,4 @@ plugins { id("lib-multisrc") } -baseVersionCode = 2 +baseVersionCode = 3 diff --git a/lib-multisrc/hentaihand/src/eu/kanade/tachiyomi/multisrc/hentaihand/HentaiHand.kt b/lib-multisrc/hentaihand/src/eu/kanade/tachiyomi/multisrc/hentaihand/HentaiHand.kt index 3c9896bae..0e786fe81 100644 --- a/lib-multisrc/hentaihand/src/eu/kanade/tachiyomi/multisrc/hentaihand/HentaiHand.kt +++ b/lib-multisrc/hentaihand/src/eu/kanade/tachiyomi/multisrc/hentaihand/HentaiHand.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.multisrc.hentaihand -import android.app.Application import android.content.SharedPreferences import android.text.InputType import android.widget.Toast @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.buildJsonObject @@ -32,8 +32,6 @@ import okhttp3.RequestBody.Companion.toRequestBody import okhttp3.Response import rx.Observable import rx.schedulers.Schedulers -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.io.IOException import java.text.SimpleDateFormat @@ -318,9 +316,7 @@ abstract class HentaiHand( // Preferences - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override fun setupPreferenceScreen(screen: PreferenceScreen) { screen.addPreference(screen.editTextPreference(USERNAME_TITLE, USERNAME_DEFAULT, username)) diff --git a/lib-multisrc/kemono/build.gradle.kts b/lib-multisrc/kemono/build.gradle.kts index 92c1c905d..ed1c83ed6 100644 --- a/lib-multisrc/kemono/build.gradle.kts +++ b/lib-multisrc/kemono/build.gradle.kts @@ -2,4 +2,4 @@ plugins { id("lib-multisrc") } -baseVersionCode = 18 +baseVersionCode = 19 diff --git a/lib-multisrc/kemono/src/eu/kanade/tachiyomi/multisrc/kemono/Kemono.kt b/lib-multisrc/kemono/src/eu/kanade/tachiyomi/multisrc/kemono/Kemono.kt index 58a5f05af..2991ca8ec 100644 --- a/lib-multisrc/kemono/src/eu/kanade/tachiyomi/multisrc/kemono/Kemono.kt +++ b/lib-multisrc/kemono/src/eu/kanade/tachiyomi/multisrc/kemono/Kemono.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.multisrc.kemono -import android.app.Application import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat @@ -15,13 +14,12 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferences import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromStream import okhttp3.Request import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.lang.Thread.sleep import java.util.TimeZone @@ -41,8 +39,7 @@ open class Kemono( private val json: Json by injectLazy() - private val preferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() private val apiPath = "api/v1" diff --git a/lib-multisrc/keyoapp/build.gradle.kts b/lib-multisrc/keyoapp/build.gradle.kts index 1c3344942..2dc006287 100644 --- a/lib-multisrc/keyoapp/build.gradle.kts +++ b/lib-multisrc/keyoapp/build.gradle.kts @@ -2,7 +2,7 @@ plugins { id("lib-multisrc") } -baseVersionCode = 13 +baseVersionCode = 14 dependencies { api(project(":lib:i18n")) diff --git a/lib-multisrc/keyoapp/src/eu/kanade/tachiyomi/multisrc/keyoapp/Keyoapp.kt b/lib-multisrc/keyoapp/src/eu/kanade/tachiyomi/multisrc/keyoapp/Keyoapp.kt index d98bf1380..6d0a93f6a 100644 --- a/lib-multisrc/keyoapp/src/eu/kanade/tachiyomi/multisrc/keyoapp/Keyoapp.kt +++ b/lib-multisrc/keyoapp/src/eu/kanade/tachiyomi/multisrc/keyoapp/Keyoapp.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.multisrc.keyoapp -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat @@ -15,6 +14,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.HttpUrl.Companion.toHttpUrl @@ -23,8 +23,6 @@ import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.ParseException import java.text.SimpleDateFormat @@ -37,9 +35,7 @@ abstract class Keyoapp( final override val lang: String, ) : ParsedHttpSource(), ConfigurableSource { - protected val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + protected val preferences: SharedPreferences by getPreferencesLazy() override val supportsLatest = true diff --git a/lib-multisrc/libgroup/build.gradle.kts b/lib-multisrc/libgroup/build.gradle.kts index 8577219f5..90ef7b652 100644 --- a/lib-multisrc/libgroup/build.gradle.kts +++ b/lib-multisrc/libgroup/build.gradle.kts @@ -2,4 +2,4 @@ plugins { id("lib-multisrc") } -baseVersionCode = 35 +baseVersionCode = 36 diff --git a/lib-multisrc/libgroup/src/eu/kanade/tachiyomi/multisrc/libgroup/LibGroup.kt b/lib-multisrc/libgroup/src/eu/kanade/tachiyomi/multisrc/libgroup/LibGroup.kt index 937d7cb08..c35c74048 100644 --- a/lib-multisrc/libgroup/src/eu/kanade/tachiyomi/multisrc/libgroup/LibGroup.kt +++ b/lib-multisrc/libgroup/src/eu/kanade/tachiyomi/multisrc/libgroup/LibGroup.kt @@ -2,7 +2,6 @@ package eu.kanade.tachiyomi.multisrc.libgroup import android.annotation.SuppressLint import android.app.Application -import android.content.SharedPreferences import android.os.Handler import android.os.Looper import android.util.Log @@ -24,6 +23,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -57,9 +57,10 @@ abstract class LibGroup( encodeDefaults = true } - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - .migrateOldImageServer() + private val preferences by getPreferencesLazy { + if (getString(SERVER_PREF, "main") == "fourth") { + edit().putString(SERVER_PREF, "secondary").apply() + } } override val supportsLatest = true @@ -685,11 +686,4 @@ abstract class LibGroup( } } } - - // api changed id of servers, remap SERVER_PREF old("fourth") to new("secondary") - private fun SharedPreferences.migrateOldImageServer(): SharedPreferences { - if (getString(SERVER_PREF, "main") != "fourth") return this - edit().putString(SERVER_PREF, "secondary").apply() - return this - } } diff --git a/lib-multisrc/machinetranslations/build.gradle.kts b/lib-multisrc/machinetranslations/build.gradle.kts index f700a5412..b21dd0bb4 100644 --- a/lib-multisrc/machinetranslations/build.gradle.kts +++ b/lib-multisrc/machinetranslations/build.gradle.kts @@ -2,7 +2,7 @@ plugins { id("lib-multisrc") } -baseVersionCode = 4 +baseVersionCode = 5 dependencies { api(project(":lib:i18n")) diff --git a/lib-multisrc/machinetranslations/src/eu/kanade/tachiyomi/multisrc/machinetranslations/MachineTranslations.kt b/lib-multisrc/machinetranslations/src/eu/kanade/tachiyomi/multisrc/machinetranslations/MachineTranslations.kt index 506ed4a04..3a8bc5d2f 100644 --- a/lib-multisrc/machinetranslations/src/eu/kanade/tachiyomi/multisrc/machinetranslations/MachineTranslations.kt +++ b/lib-multisrc/machinetranslations/src/eu/kanade/tachiyomi/multisrc/machinetranslations/MachineTranslations.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.multisrc.machinetranslations -import android.app.Application import android.content.SharedPreferences import android.os.Build import android.widget.Toast @@ -20,6 +19,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json @@ -30,8 +30,6 @@ import okhttp3.Request import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Calendar @@ -51,9 +49,7 @@ abstract class MachineTranslations( override val lang = language.lang - protected val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + protected val preferences: SharedPreferences by getPreferencesLazy() /** * A flag that tracks whether the settings have been changed. It is used to indicate if diff --git a/lib-multisrc/mangathemesia/src/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaAlt.kt b/lib-multisrc/mangathemesia/src/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaAlt.kt index 1c26a123f..3378629ae 100644 --- a/lib-multisrc/mangathemesia/src/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaAlt.kt +++ b/lib-multisrc/mangathemesia/src/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaAlt.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.multisrc.mangathemesia -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat @@ -9,6 +8,7 @@ import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import kotlinx.coroutines.runBlocking import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock @@ -16,8 +16,6 @@ import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import okhttp3.Request import okhttp3.Response -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.lang.ref.SoftReference import java.text.SimpleDateFormat import java.util.Locale @@ -34,14 +32,12 @@ abstract class MangaThemesiaAlt( protected open val listUrl = "$mangaUrlDirectory/list-mode/" protected open val listSelector = "div#content div.soralist ul li a.series" - protected val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000).also { - if (it.contains("__random_part_cache")) { - it.edit().remove("__random_part_cache").apply() - } - if (it.contains("titles_without_random_part")) { - it.edit().remove("titles_without_random_part").apply() - } + protected val preferences by getPreferencesLazy { + if (contains("__random_part_cache")) { + edit().remove("__random_part_cache").apply() + } + if (contains("titles_without_random_part")) { + edit().remove("titles_without_random_part").apply() } } diff --git a/src/all/akuma/build.gradle b/src/all/akuma/build.gradle index 811a85d41..c7f1bba41 100644 --- a/src/all/akuma/build.gradle +++ b/src/all/akuma/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Akuma' extClass = '.AkumaFactory' - extVersionCode = 5 + extVersionCode = 6 isNsfw = true } diff --git a/src/all/akuma/src/eu/kanade/tachiyomi/extension/all/akuma/Akuma.kt b/src/all/akuma/src/eu/kanade/tachiyomi/extension/all/akuma/Akuma.kt index 4172dace1..18fd609d6 100644 --- a/src/all/akuma/src/eu/kanade/tachiyomi/extension/all/akuma/Akuma.kt +++ b/src/all/akuma/src/eu/kanade/tachiyomi/extension/all/akuma/Akuma.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.akuma -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.UpdateStrategy import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import okhttp3.FormBody import okhttp3.HttpUrl.Companion.toHttpUrlOrNull import okhttp3.Interceptor @@ -25,8 +25,6 @@ import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.io.IOException import java.text.ParseException import java.text.SimpleDateFormat @@ -112,9 +110,7 @@ class Akuma( return storedToken!! } - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private val displayFullTitle: Boolean get() = preferences.getBoolean(PREF_TITLE, false) diff --git a/src/all/batoto/build.gradle b/src/all/batoto/build.gradle index 581a1200d..f829a1a18 100644 --- a/src/all/batoto/build.gradle +++ b/src/all/batoto/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Bato.to' extClass = '.BatoToFactory' - extVersionCode = 48 + extVersionCode = 49 isNsfw = true } diff --git a/src/all/batoto/src/eu/kanade/tachiyomi/extension/all/batoto/BatoTo.kt b/src/all/batoto/src/eu/kanade/tachiyomi/extension/all/batoto/BatoTo.kt index 217168bcf..d0e439c15 100644 --- a/src/all/batoto/src/eu/kanade/tachiyomi/extension/all/batoto/BatoTo.kt +++ b/src/all/batoto/src/eu/kanade/tachiyomi/extension/all/batoto/BatoTo.kt @@ -20,6 +20,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonObject @@ -48,10 +49,7 @@ open class BatoTo( private val siteLang: String, ) : ConfigurableSource, ParsedHttpSource() { - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - .migrateMirrorPref() - } + private val preferences by getPreferencesLazy { migrateMirrorPref() } override val name: String = "Bato.to" override val baseUrl: String get() = mirror @@ -125,14 +123,12 @@ open class BatoTo( return preferences.getBoolean("${REMOVE_TITLE_VERSION_PREF}_$lang", false) } - private fun SharedPreferences.migrateMirrorPref(): SharedPreferences { + private fun SharedPreferences.migrateMirrorPref() { val selectedMirror = getString("${MIRROR_PREF_KEY}_$lang", MIRROR_PREF_DEFAULT_VALUE)!! if (selectedMirror in DEPRECATED_MIRRORS) { edit().putString("${MIRROR_PREF_KEY}_$lang", MIRROR_PREF_DEFAULT_VALUE).commit() } - - return this } override val supportsLatest = true diff --git a/src/all/comicfury/build.gradle b/src/all/comicfury/build.gradle index 741cf7088..2689f2746 100644 --- a/src/all/comicfury/build.gradle +++ b/src/all/comicfury/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Comic Fury' extClass = '.ComicFuryFactory' - extVersionCode = 3 + extVersionCode = 4 isNsfw = true } diff --git a/src/all/comicfury/src/eu/kanade/tachiyomi/extension/all/comicfury/ComicFury.kt b/src/all/comicfury/src/eu/kanade/tachiyomi/extension/all/comicfury/ComicFury.kt index c4aa89b29..3458c5568 100644 --- a/src/all/comicfury/src/eu/kanade/tachiyomi/extension/all/comicfury/ComicFury.kt +++ b/src/all/comicfury/src/eu/kanade/tachiyomi/extension/all/comicfury/ComicFury.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.comicfury -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat @@ -16,13 +15,12 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import okhttp3.HttpUrl import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale @@ -205,9 +203,7 @@ class ComicFury( private fun Boolean.toInt(): Int = if (this) { 0 } else { 1 } // START OF AUTHOR NOTES // - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() companion object { private const val SHOW_AUTHORS_NOTES_KEY = "showAuthorsNotes" } diff --git a/src/all/comickfun/build.gradle b/src/all/comickfun/build.gradle index 1796e90c1..155751ef8 100644 --- a/src/all/comickfun/build.gradle +++ b/src/all/comickfun/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Comick' extClass = '.ComickFactory' - extVersionCode = 52 + extVersionCode = 53 isNsfw = true } diff --git a/src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/Comick.kt b/src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/Comick.kt index 808371c36..95367c24e 100644 --- a/src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/Comick.kt +++ b/src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/Comick.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.comickfun -import android.app.Application import android.content.SharedPreferences import androidx.preference.EditTextPreference import androidx.preference.ListPreference @@ -17,6 +16,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.Headers @@ -25,8 +25,6 @@ import okhttp3.Interceptor import okhttp3.Request import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.ParseException import java.text.SimpleDateFormat import java.util.Locale @@ -65,10 +63,7 @@ abstract class Comick( ) } - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - .newLineIgnoredGroups() - } + private val preferences by getPreferencesLazy { newLineIgnoredGroups() } override fun setupPreferenceScreen(screen: PreferenceScreen) { EditTextPreference(screen.context).apply { @@ -507,8 +502,9 @@ abstract class Comick( override fun getFilterList() = getFilters() - private fun SharedPreferences.newLineIgnoredGroups(): SharedPreferences { - if (getBoolean(MIGRATED_IGNORED_GROUPS, false)) return this + private fun SharedPreferences.newLineIgnoredGroups() { + if (getBoolean(MIGRATED_IGNORED_GROUPS, false)) return + val ignoredGroups = getString(IGNORED_GROUPS_PREF, "").orEmpty() edit() @@ -522,8 +518,6 @@ abstract class Comick( ) .putBoolean(MIGRATED_IGNORED_GROUPS, true) .apply() - - return this } companion object { diff --git a/src/all/comicskingdom/build.gradle b/src/all/comicskingdom/build.gradle index b2be199c5..bd2d8d126 100644 --- a/src/all/comicskingdom/build.gradle +++ b/src/all/comicskingdom/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'ComicsKingdom' extClass = '.ComicsKingdomFactory' - extVersionCode = 1 + extVersionCode = 2 } apply from: "$rootDir/common.gradle" diff --git a/src/all/comicskingdom/src/eu/kanade/tachiyomi/extension/all/comicskingdom/ComicsKingdom.kt b/src/all/comicskingdom/src/eu/kanade/tachiyomi/extension/all/comicskingdom/ComicsKingdom.kt index 2ae2bf710..d33fde5f4 100644 --- a/src/all/comicskingdom/src/eu/kanade/tachiyomi/extension/all/comicskingdom/ComicsKingdom.kt +++ b/src/all/comicskingdom/src/eu/kanade/tachiyomi/extension/all/comicskingdom/ComicsKingdom.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.comicskingdom -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.network.GET @@ -12,6 +11,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.HttpUrl @@ -19,8 +19,6 @@ import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request import okhttp3.Response import org.jsoup.Jsoup -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Locale @@ -301,9 +299,7 @@ class ComicsKingdom(override val lang: String) : ConfigurableSource, HttpSource( screen.addPreference(compactpref) } - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private fun shouldCompact() = preferences.getBoolean("compactPref", true) diff --git a/src/all/comikey/build.gradle b/src/all/comikey/build.gradle index 7f109a60f..0ce38f18a 100644 --- a/src/all/comikey/build.gradle +++ b/src/all/comikey/build.gradle @@ -1,7 +1,7 @@ ext { extName = "Comikey" extClass = ".ComikeyFactory" - extVersionCode = 2 + extVersionCode = 3 } apply from: "$rootDir/common.gradle" diff --git a/src/all/comikey/src/eu/kanade/tachiyomi/extension/all/comikey/Comikey.kt b/src/all/comikey/src/eu/kanade/tachiyomi/extension/all/comikey/Comikey.kt index 57db395be..baa21aeb6 100644 --- a/src/all/comikey/src/eu/kanade/tachiyomi/extension/all/comikey/Comikey.kt +++ b/src/all/comikey/src/eu/kanade/tachiyomi/extension/all/comikey/Comikey.kt @@ -24,6 +24,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.HttpUrl @@ -75,9 +76,7 @@ open class Comikey( classLoader = this::class.java.classLoader!!, ) - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences by getPreferencesLazy() override fun popularMangaRequest(page: Int) = GET("$baseUrl/comics/?order=-views&page=$page", headers) diff --git a/src/all/danbooru/src/eu/kanade/tachiyomi/extension/all/danbooru/Filters.kt b/src/all/danbooru/src/eu/kanade/tachiyomi/extension/all/danbooru/Filters.kt index 9db604004..8cfa7fd9b 100644 --- a/src/all/danbooru/src/eu/kanade/tachiyomi/extension/all/danbooru/Filters.kt +++ b/src/all/danbooru/src/eu/kanade/tachiyomi/extension/all/danbooru/Filters.kt @@ -1,4 +1,5 @@ package eu.kanade.tachiyomi.extension.all.danbooru + import eu.kanade.tachiyomi.source.model.Filter internal class FilterTags : Filter.Text("Tags") diff --git a/src/all/deviantart/build.gradle b/src/all/deviantart/build.gradle index 5f5fc881a..b775377c9 100644 --- a/src/all/deviantart/build.gradle +++ b/src/all/deviantart/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'DeviantArt' extClass = '.DeviantArt' - extVersionCode = 6 + extVersionCode = 7 isNsfw = true } diff --git a/src/all/deviantart/src/eu/kanade/tachiyomi/extension/all/deviantart/DeviantArt.kt b/src/all/deviantart/src/eu/kanade/tachiyomi/extension/all/deviantart/DeviantArt.kt index e0d40adfd..228549b9a 100644 --- a/src/all/deviantart/src/eu/kanade/tachiyomi/extension/all/deviantart/DeviantArt.kt +++ b/src/all/deviantart/src/eu/kanade/tachiyomi/extension/all/deviantart/DeviantArt.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.deviantart -import android.app.Application import android.content.SharedPreferences import androidx.preference.ListPreference import androidx.preference.PreferenceScreen @@ -13,6 +12,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request @@ -20,8 +20,6 @@ import okhttp3.Response import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.jsoup.parser.Parser -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.ParseException import java.text.SimpleDateFormat import java.util.Locale @@ -32,9 +30,7 @@ class DeviantArt : HttpSource(), ConfigurableSource { override val lang = "all" override val supportsLatest = false - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override fun headersBuilder() = Headers.Builder().apply { add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0") diff --git a/src/all/ehentai/build.gradle b/src/all/ehentai/build.gradle index 8e88bbcb2..acd2151ce 100644 --- a/src/all/ehentai/build.gradle +++ b/src/all/ehentai/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'E-Hentai' extClass = '.EHFactory' - extVersionCode = 24 + extVersionCode = 25 isNsfw = true } diff --git a/src/all/ehentai/src/eu/kanade/tachiyomi/extension/all/ehentai/EHentai.kt b/src/all/ehentai/src/eu/kanade/tachiyomi/extension/all/ehentai/EHentai.kt index c6fda90b8..cbf909ca3 100644 --- a/src/all/ehentai/src/eu/kanade/tachiyomi/extension/all/ehentai/EHentai.kt +++ b/src/all/ehentai/src/eu/kanade/tachiyomi/extension/all/ehentai/EHentai.kt @@ -1,7 +1,6 @@ package eu.kanade.tachiyomi.extension.all.ehentai import android.annotation.SuppressLint -import android.app.Application import android.content.SharedPreferences import android.net.Uri import android.webkit.CookieManager @@ -23,6 +22,7 @@ import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.UpdateStrategy import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import okhttp3.CacheControl import okhttp3.CookieJar import okhttp3.Headers @@ -30,8 +30,6 @@ import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.net.URLEncoder abstract class EHentai( @@ -41,9 +39,7 @@ abstract class EHentai( override val name = "E-Hentai" - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private val webViewCookieManager: CookieManager by lazy { CookieManager.getInstance() } private val memberId: String by lazy { getMemberIdPref() } diff --git a/src/all/galaxy/build.gradle b/src/all/galaxy/build.gradle index 3f8f966ae..4be47e5a8 100644 --- a/src/all/galaxy/build.gradle +++ b/src/all/galaxy/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Galaxy' extClass = '.GalaxyFactory' - extVersionCode = 4 + extVersionCode = 5 isNsfw = false } diff --git a/src/all/galaxy/src/eu/kanade/tachiyomi/extension/all/galaxy/GalaxyFactory.kt b/src/all/galaxy/src/eu/kanade/tachiyomi/extension/all/galaxy/GalaxyFactory.kt index a2e2a162d..fae762902 100644 --- a/src/all/galaxy/src/eu/kanade/tachiyomi/extension/all/galaxy/GalaxyFactory.kt +++ b/src/all/galaxy/src/eu/kanade/tachiyomi/extension/all/galaxy/GalaxyFactory.kt @@ -1,13 +1,11 @@ package eu.kanade.tachiyomi.extension.all.galaxy -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.SourceFactory -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferencesLazy class GalaxyFactory : SourceFactory { @@ -22,9 +20,7 @@ class GalaxyFactory : SourceFactory { override val baseUrl by lazy { getPrefBaseUrl() } - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() companion object { private const val RESTART_APP = ".لتطبيق الإعدادات الجديدة أعد تشغيل التطبيق" diff --git a/src/all/hentai3/build.gradle b/src/all/hentai3/build.gradle index a237e848a..340705425 100644 --- a/src/all/hentai3/build.gradle +++ b/src/all/hentai3/build.gradle @@ -1,8 +1,8 @@ -ext { - extName = '3Hentai' - extClass = '.Hentai3Factory' - extVersionCode = 1 - isNsfw = true -} - -apply from: "$rootDir/common.gradle" +ext { + extName = '3Hentai' + extClass = '.Hentai3Factory' + extVersionCode = 1 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/all/hentai3/src/eu/kanade/tachiyomi/extension/all/hentai3/Hentai3.kt b/src/all/hentai3/src/eu/kanade/tachiyomi/extension/all/hentai3/Hentai3.kt index 4293ede51..bbd4037dd 100644 --- a/src/all/hentai3/src/eu/kanade/tachiyomi/extension/all/hentai3/Hentai3.kt +++ b/src/all/hentai3/src/eu/kanade/tachiyomi/extension/all/hentai3/Hentai3.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.all.hentai3 - + import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage diff --git a/src/all/hentai3/src/eu/kanade/tachiyomi/extension/all/hentai3/Hentai3Filters.kt b/src/all/hentai3/src/eu/kanade/tachiyomi/extension/all/hentai3/Hentai3Filters.kt index d0497305b..10a99f811 100644 --- a/src/all/hentai3/src/eu/kanade/tachiyomi/extension/all/hentai3/Hentai3Filters.kt +++ b/src/all/hentai3/src/eu/kanade/tachiyomi/extension/all/hentai3/Hentai3Filters.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.all.hentai3 - + import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList diff --git a/src/all/hentaiera/build.gradle b/src/all/hentaiera/build.gradle index 685a01bc1..9be2fc767 100644 --- a/src/all/hentaiera/build.gradle +++ b/src/all/hentaiera/build.gradle @@ -1,10 +1,10 @@ -ext { - extName = 'HentaiEra' - extClass = '.HentaiEraFactory' - themePkg = 'galleryadults' - baseUrl = 'https://hentaiera.com' - overrideVersionCode = 1 - isNsfw = true -} - -apply from: "$rootDir/common.gradle" +ext { + extName = 'HentaiEra' + extClass = '.HentaiEraFactory' + themePkg = 'galleryadults' + baseUrl = 'https://hentaiera.com' + overrideVersionCode = 1 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/all/hentaiera/src/eu/kanade/tachiyomi/extension/all/hentaiera/HentaiEra.kt b/src/all/hentaiera/src/eu/kanade/tachiyomi/extension/all/hentaiera/HentaiEra.kt index 80c181496..f436e13e8 100644 --- a/src/all/hentaiera/src/eu/kanade/tachiyomi/extension/all/hentaiera/HentaiEra.kt +++ b/src/all/hentaiera/src/eu/kanade/tachiyomi/extension/all/hentaiera/HentaiEra.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.all.hentaiera - + import eu.kanade.tachiyomi.multisrc.galleryadults.GalleryAdults import eu.kanade.tachiyomi.multisrc.galleryadults.Genre import eu.kanade.tachiyomi.multisrc.galleryadults.SearchFlagFilter diff --git a/src/all/hentaiera/src/eu/kanade/tachiyomi/extension/all/hentaiera/HentaiEraFactory.kt b/src/all/hentaiera/src/eu/kanade/tachiyomi/extension/all/hentaiera/HentaiEraFactory.kt index 332b271a2..9e69e6edc 100644 --- a/src/all/hentaiera/src/eu/kanade/tachiyomi/extension/all/hentaiera/HentaiEraFactory.kt +++ b/src/all/hentaiera/src/eu/kanade/tachiyomi/extension/all/hentaiera/HentaiEraFactory.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.all.hentaiera - + import eu.kanade.tachiyomi.multisrc.galleryadults.GalleryAdults import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.SourceFactory diff --git a/src/all/hitomi/build.gradle b/src/all/hitomi/build.gradle index 1b1252bc3..f62766cbd 100644 --- a/src/all/hitomi/build.gradle +++ b/src/all/hitomi/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Hitomi' extClass = '.HitomiFactory' - extVersionCode = 36 + extVersionCode = 37 isNsfw = true } diff --git a/src/all/hitomi/src/eu/kanade/tachiyomi/extension/all/hitomi/Hitomi.kt b/src/all/hitomi/src/eu/kanade/tachiyomi/extension/all/hitomi/Hitomi.kt index b76e34c85..0f6c9c6f6 100644 --- a/src/all/hitomi/src/eu/kanade/tachiyomi/extension/all/hitomi/Hitomi.kt +++ b/src/all/hitomi/src/eu/kanade/tachiyomi/extension/all/hitomi/Hitomi.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.hitomi -import android.app.Application import android.content.SharedPreferences import android.util.Log import androidx.preference.ListPreference @@ -15,6 +14,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.UpdateStrategy import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll import kotlinx.coroutines.coroutineScope @@ -32,8 +32,6 @@ import okhttp3.Response import okhttp3.ResponseBody.Companion.toResponseBody import okhttp3.internal.http2.StreamResetException import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.nio.ByteBuffer import java.nio.ByteOrder @@ -74,9 +72,7 @@ class Hitomi( } .build() - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private fun imageType() = preferences.getString(PREF_IMAGETYPE, "webp")!! override fun headersBuilder() = super.headersBuilder() diff --git a/src/all/izneo/build.gradle b/src/all/izneo/build.gradle index 576a89252..6207ef0bc 100644 --- a/src/all/izneo/build.gradle +++ b/src/all/izneo/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'izneo (webtoons)' extClass = '.IzneoFactory' - extVersionCode = 5 + extVersionCode = 6 } apply from: "$rootDir/common.gradle" diff --git a/src/all/izneo/src/eu/kanade/tachiyomi/extension/all/izneo/Izneo.kt b/src/all/izneo/src/eu/kanade/tachiyomi/extension/all/izneo/Izneo.kt index 739a8746c..e25d1a1a9 100644 --- a/src/all/izneo/src/eu/kanade/tachiyomi/extension/all/izneo/Izneo.kt +++ b/src/all/izneo/src/eu/kanade/tachiyomi/extension/all/izneo/Izneo.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.izneo -import android.app.Application import android.text.InputType.TYPE_CLASS_TEXT import android.text.InputType.TYPE_TEXT_VARIATION_PASSWORD import android.util.Base64 @@ -14,6 +13,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromJsonElement import kotlinx.serialization.json.int @@ -43,9 +43,7 @@ class Izneo(override val lang: String) : ConfigurableSource, HttpSource() { private val json by lazy { Injekt.get() } - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000)!! - } + private val preferences by getPreferencesLazy() private inline val username: String get() = preferences.getString("username", "")!! diff --git a/src/all/koharu/build.gradle b/src/all/koharu/build.gradle index a000dd3ad..ca3317aa1 100644 --- a/src/all/koharu/build.gradle +++ b/src/all/koharu/build.gradle @@ -1,8 +1,8 @@ -ext { - extName = 'SchaleNetwork' - extClass = '.KoharuFactory' - extVersionCode = 11 - isNsfw = true -} - -apply from: "$rootDir/common.gradle" +ext { + extName = 'SchaleNetwork' + extClass = '.KoharuFactory' + extVersionCode = 12 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/Koharu.kt b/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/Koharu.kt index fa71cd005..642383043 100644 --- a/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/Koharu.kt +++ b/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/Koharu.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.koharu -import android.app.Application import android.content.SharedPreferences import androidx.preference.ListPreference import androidx.preference.PreferenceScreen @@ -15,6 +14,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.UpdateStrategy import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.HttpUrl.Companion.toHttpUrl @@ -23,8 +23,6 @@ import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Locale @@ -55,9 +53,7 @@ class Koharu( private val shortenTitleRegex = Regex("""(\[[^]]*]|[({][^)}]*[)}])""") private fun String.shortenTitle() = replace(shortenTitleRegex, "").trim() - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private fun quality() = preferences.getString(PREF_IMAGERES, "1280")!! diff --git a/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/KoharuDto.kt b/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/KoharuDto.kt index fb67dc6e9..579321ead 100644 --- a/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/KoharuDto.kt +++ b/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/KoharuDto.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.all.koharu - + import kotlinx.serialization.Serializable @Serializable diff --git a/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/KoharuFactory.kt b/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/KoharuFactory.kt index 4a3edcb52..0bcdd4be5 100644 --- a/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/KoharuFactory.kt +++ b/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/KoharuFactory.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.all.koharu - + import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.SourceFactory diff --git a/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/KoharuFilters.kt b/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/KoharuFilters.kt index 96bc1d1d0..e8478fea7 100644 --- a/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/KoharuFilters.kt +++ b/src/all/koharu/src/eu/kanade/tachiyomi/extension/all/koharu/KoharuFilters.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.all.koharu - + import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList diff --git a/src/all/komga/build.gradle b/src/all/komga/build.gradle index d70aa6132..78082712d 100644 --- a/src/all/komga/build.gradle +++ b/src/all/komga/build.gradle @@ -1,11 +1,11 @@ -ext { - extName = 'Komga' - extClass = '.KomgaFactory' - extVersionCode = 59 -} - -apply from: "$rootDir/common.gradle" - -dependencies { - implementation("org.apache.commons:commons-text:1.11.0") -} +ext { + extName = 'Komga' + extClass = '.KomgaFactory' + extVersionCode = 60 +} + +apply from: "$rootDir/common.gradle" + +dependencies { + implementation("org.apache.commons:commons-text:1.11.0") +} diff --git a/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/Komga.kt b/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/Komga.kt index 1936008b8..13d537679 100644 --- a/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/Komga.kt +++ b/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/Komga.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.komga -import android.app.Application import android.content.SharedPreferences import android.text.InputType import android.util.Log @@ -28,6 +27,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -41,17 +41,13 @@ import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response import org.apache.commons.text.StringSubstitutor -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.security.MessageDigest import java.util.Locale open class Komga(private val suffix: String = "") : ConfigurableSource, UnmeteredSource, HttpSource() { - internal val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + internal val preferences: SharedPreferences by getPreferencesLazy() private val displayName by lazy { preferences.getString(PREF_DISPLAY_NAME, "")!! } diff --git a/src/all/lanraragi/build.gradle b/src/all/lanraragi/build.gradle index b265dfcc5..883d2dcbb 100644 --- a/src/all/lanraragi/build.gradle +++ b/src/all/lanraragi/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'LANraragi' extClass = '.LANraragiFactory' - extVersionCode = 18 + extVersionCode = 19 } apply from: "$rootDir/common.gradle" diff --git a/src/all/lanraragi/src/eu/kanade/tachiyomi/extension/all/lanraragi/LANraragi.kt b/src/all/lanraragi/src/eu/kanade/tachiyomi/extension/all/lanraragi/LANraragi.kt index 37db40fd6..2e64905bb 100644 --- a/src/all/lanraragi/src/eu/kanade/tachiyomi/extension/all/lanraragi/LANraragi.kt +++ b/src/all/lanraragi/src/eu/kanade/tachiyomi/extension/all/lanraragi/LANraragi.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.lanraragi -import android.app.Application import android.content.SharedPreferences import android.net.Uri import android.text.InputType @@ -18,6 +17,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import kotlinx.serialization.json.jsonArray @@ -284,9 +284,7 @@ open class LANraragi(private val suffix: String = "") : ConfigurableSource, Unme (0..7).map { bytes[it].toLong() and 0xff shl 8 * (7 - it) }.reduce(Long::or) and Long.MAX_VALUE } - internal val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + internal val preferences: SharedPreferences by getPreferencesLazy() private fun getPrefBaseUrl(): String = preferences.getString(HOSTNAME_KEY, HOSTNAME_DEFAULT)!! private fun getPrefAPIKey(): String = preferences.getString(APIKEY_KEY, "")!! diff --git a/src/all/luscious/build.gradle b/src/all/luscious/build.gradle index e342bf605..299ac7810 100644 --- a/src/all/luscious/build.gradle +++ b/src/all/luscious/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Luscious' extClass = '.LusciousFactory' - extVersionCode = 19 + extVersionCode = 20 isNsfw = true } diff --git a/src/all/luscious/src/eu/kanade/tachiyomi/extension/all/luscious/Luscious.kt b/src/all/luscious/src/eu/kanade/tachiyomi/extension/all/luscious/Luscious.kt index 6683505bb..bf52e431c 100644 --- a/src/all/luscious/src/eu/kanade/tachiyomi/extension/all/luscious/Luscious.kt +++ b/src/all/luscious/src/eu/kanade/tachiyomi/extension/all/luscious/Luscious.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.luscious -import android.app.Application import android.content.SharedPreferences import androidx.preference.CheckBoxPreference import androidx.preference.ListPreference @@ -15,6 +14,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonObject @@ -37,8 +37,6 @@ import okhttp3.Request import okhttp3.Response import okhttp3.ResponseBody.Companion.toResponseBody import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.util.Calendar @@ -49,9 +47,7 @@ abstract class Luscious( override val supportsLatest: Boolean = true override val name: String = "Luscious" - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override val baseUrl: String = getMirrorPref()!! diff --git a/src/all/manga18me/build.gradle b/src/all/manga18me/build.gradle index 59b8f4fff..6bf9280a8 100644 --- a/src/all/manga18me/build.gradle +++ b/src/all/manga18me/build.gradle @@ -1,9 +1,9 @@ -ext { - extName = 'Manga18Me' - extClass = '.M18MFactory' - extVersionCode = 1 - isNsfw = true -} - -apply from: "$rootDir/common.gradle" - +ext { + extName = 'Manga18Me' + extClass = '.M18MFactory' + extVersionCode = 1 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" + diff --git a/src/all/manga18me/src/eu/kanade/tachiyomi/extension/all/manga18me/Filters.kt b/src/all/manga18me/src/eu/kanade/tachiyomi/extension/all/manga18me/Filters.kt index 56887ac01..5cf9521f4 100644 --- a/src/all/manga18me/src/eu/kanade/tachiyomi/extension/all/manga18me/Filters.kt +++ b/src/all/manga18me/src/eu/kanade/tachiyomi/extension/all/manga18me/Filters.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.all.manga18me - + import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList diff --git a/src/all/manga18me/src/eu/kanade/tachiyomi/extension/all/manga18me/Manga18Me.kt b/src/all/manga18me/src/eu/kanade/tachiyomi/extension/all/manga18me/Manga18Me.kt index bef68bcfc..54d3d6568 100644 --- a/src/all/manga18me/src/eu/kanade/tachiyomi/extension/all/manga18me/Manga18Me.kt +++ b/src/all/manga18me/src/eu/kanade/tachiyomi/extension/all/manga18me/Manga18Me.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.all.manga18me - + import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage diff --git a/src/all/mangadex/build.gradle b/src/all/mangadex/build.gradle index bc926dc26..fd4c71406 100644 --- a/src/all/mangadex/build.gradle +++ b/src/all/mangadex/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'MangaDex' extClass = '.MangaDexFactory' - extVersionCode = 199 + extVersionCode = 200 isNsfw = true } diff --git a/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/MangaDex.kt b/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/MangaDex.kt index 2b157c01d..fc3fb56a7 100644 --- a/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/MangaDex.kt +++ b/src/all/mangadex/src/eu/kanade/tachiyomi/extension/all/mangadex/MangaDex.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.mangadex -import android.app.Application import android.content.SharedPreferences import android.os.Build import androidx.preference.EditTextPreference @@ -32,6 +31,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import okhttp3.CacheControl import okhttp3.Headers @@ -40,8 +40,6 @@ import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.util.Date abstract class MangaDex(final override val lang: String, private val dexLang: String = lang) : @@ -53,10 +51,7 @@ abstract class MangaDex(final override val lang: String, private val dexLang: St override val supportsLatest = true - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - .sanitizeExistingUuidPrefs() - } + private val preferences by getPreferencesLazy { sanitizeExistingUuidPrefs() } private val helper = MangaDexHelper(lang) @@ -885,9 +880,9 @@ abstract class MangaDex(final override val lang: String, private val dexLang: St * preferences. This method clear invalid UUIDs in case the user have updated from * a previous version with that behaviour. */ - private fun SharedPreferences.sanitizeExistingUuidPrefs(): SharedPreferences { + private fun SharedPreferences.sanitizeExistingUuidPrefs() { if (getBoolean(MDConstants.getHasSanitizedUuidsPrefKey(dexLang), false)) { - return this + return } val blockedGroups = getString(MDConstants.getBlockedGroupsPrefKey(dexLang), "")!! @@ -907,7 +902,5 @@ abstract class MangaDex(final override val lang: String, private val dexLang: St .putString(MDConstants.getBlockedUploaderPrefKey(dexLang), blockedUploaders) .putBoolean(MDConstants.getHasSanitizedUuidsPrefKey(dexLang), true) .apply() - - return this } } diff --git a/src/all/mangafire/build.gradle b/src/all/mangafire/build.gradle index d0d1fb038..0004bd644 100644 --- a/src/all/mangafire/build.gradle +++ b/src/all/mangafire/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'MangaFire' extClass = '.MangaFireFactory' - extVersionCode = 10 + extVersionCode = 11 isNsfw = true } diff --git a/src/all/mangafire/src/eu/kanade/tachiyomi/extension/all/mangafire/MangaFire.kt b/src/all/mangafire/src/eu/kanade/tachiyomi/extension/all/mangafire/MangaFire.kt index 37c3ea92d..f300e937c 100644 --- a/src/all/mangafire/src/eu/kanade/tachiyomi/extension/all/mangafire/MangaFire.kt +++ b/src/all/mangafire/src/eu/kanade/tachiyomi/extension/all/mangafire/MangaFire.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.mangafire -import android.app.Application import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat import eu.kanade.tachiyomi.network.GET @@ -12,6 +11,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.Serializable import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json @@ -24,8 +24,6 @@ import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.ParseException import java.text.SimpleDateFormat @@ -43,9 +41,7 @@ class MangaFire( private val json: Json by injectLazy() - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000)!! - } + private val preferences by getPreferencesLazy() override val client = network.cloudflareClient.newBuilder().addInterceptor(ImageInterceptor).build() diff --git a/src/all/mangapark/build.gradle b/src/all/mangapark/build.gradle index 634bffda5..7fe709ec3 100644 --- a/src/all/mangapark/build.gradle +++ b/src/all/mangapark/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'MangaPark' extClass = '.MangaParkFactory' - extVersionCode = 20 + extVersionCode = 21 isNsfw = true } diff --git a/src/all/mangapark/src/eu/kanade/tachiyomi/extension/all/mangapark/MangaPark.kt b/src/all/mangapark/src/eu/kanade/tachiyomi/extension/all/mangapark/MangaPark.kt index e05a70719..b4674b7d0 100644 --- a/src/all/mangapark/src/eu/kanade/tachiyomi/extension/all/mangapark/MangaPark.kt +++ b/src/all/mangapark/src/eu/kanade/tachiyomi/extension/all/mangapark/MangaPark.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.mangapark -import android.app.Application import android.widget.Toast import androidx.preference.ListPreference import androidx.preference.PreferenceScreen @@ -18,6 +17,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -30,8 +30,6 @@ import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.Request import okhttp3.RequestBody.Companion.toRequestBody import okhttp3.Response -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.util.concurrent.CountDownLatch import java.util.concurrent.atomic.AtomicBoolean @@ -47,8 +45,7 @@ class MangaPark( override val versionId = 2 - private val preference = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preference = getPreferences() private val domain = preference.getString(MIRROR_PREF_KEY, MIRROR_PREF_DEFAULT) ?: MIRROR_PREF_DEFAULT diff --git a/src/all/mangaplus/src/eu/kanade/tachiyomi/extension/all/mangaplus/MangaPlus.kt b/src/all/mangaplus/src/eu/kanade/tachiyomi/extension/all/mangaplus/MangaPlus.kt index b17f18536..64c3f7ea5 100644 --- a/src/all/mangaplus/src/eu/kanade/tachiyomi/extension/all/mangaplus/MangaPlus.kt +++ b/src/all/mangaplus/src/eu/kanade/tachiyomi/extension/all/mangaplus/MangaPlus.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.mangaplus -import android.app.Application import android.content.SharedPreferences import android.text.Editable import android.text.TextWatcher @@ -21,6 +20,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.Headers @@ -32,8 +32,6 @@ import okhttp3.Request import okhttp3.Response import okhttp3.ResponseBody.Companion.toResponseBody import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.util.UUID @@ -73,9 +71,7 @@ class MangaPlus( ) } - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() /** * Private cache to find the newest thumbnail URL in case the existing one diff --git a/src/all/mangareaderto/build.gradle b/src/all/mangareaderto/build.gradle index d54894b26..89eeeb1fc 100644 --- a/src/all/mangareaderto/build.gradle +++ b/src/all/mangareaderto/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.MangaReaderFactory' themePkg = 'mangareader' baseUrl = 'https://mangareader.to' - overrideVersionCode = 5 + overrideVersionCode = 6 isNsfw = true } diff --git a/src/all/mangareaderto/src/eu/kanade/tachiyomi/extension/all/mangareaderto/MangaReader.kt b/src/all/mangareaderto/src/eu/kanade/tachiyomi/extension/all/mangareaderto/MangaReader.kt index 1204c43ee..c12464da5 100644 --- a/src/all/mangareaderto/src/eu/kanade/tachiyomi/extension/all/mangareaderto/MangaReader.kt +++ b/src/all/mangareaderto/src/eu/kanade/tachiyomi/extension/all/mangareaderto/MangaReader.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.mangareaderto -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat @@ -13,11 +12,11 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences +import keiyoushi.utils.getPreferencesLazy import okhttp3.Request import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class MangaReader( language: Language, @@ -32,9 +31,7 @@ class MangaReader( .addInterceptor(ImageInterceptor) .build() - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() // =============================== Search =============================== diff --git a/src/all/mango/build.gradle b/src/all/mango/build.gradle index 22d0a6da7..2e60f3a7b 100644 --- a/src/all/mango/build.gradle +++ b/src/all/mango/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Mango' extClass = '.Mango' - extVersionCode = 9 + extVersionCode = 10 } apply from: "$rootDir/common.gradle" diff --git a/src/all/mango/src/eu/kanade/tachiyomi/extension/all/mango/Mango.kt b/src/all/mango/src/eu/kanade/tachiyomi/extension/all/mango/Mango.kt index 92d7f2291..7d1d1e4e9 100644 --- a/src/all/mango/src/eu/kanade/tachiyomi/extension/all/mango/Mango.kt +++ b/src/all/mango/src/eu/kanade/tachiyomi/extension/all/mango/Mango.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.mango -import android.app.Application import android.content.SharedPreferences import android.text.InputType import android.widget.Toast @@ -18,6 +17,7 @@ import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import info.debatty.java.stringsimilarity.JaroWinkler import info.debatty.java.stringsimilarity.Levenshtein +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonObject @@ -34,8 +34,6 @@ import okhttp3.Request import okhttp3.RequestBody import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.io.IOException @@ -214,9 +212,7 @@ class Mango : ConfigurableSource, UnmeteredSource, HttpSource() { Headers.Builder() .add("User-Agent", "Tachiyomi Mango v${AppInfo.getVersionName()}") - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override val client: OkHttpClient = network.client.newBuilder() diff --git a/src/all/meituatop/build.gradle b/src/all/meituatop/build.gradle index 54830dc17..7f901e532 100644 --- a/src/all/meituatop/build.gradle +++ b/src/all/meituatop/build.gradle @@ -1,8 +1,8 @@ -ext { - extName = 'Meitua.top' - extClass = '.MeituaTop' - extVersionCode = 9 - isNsfw = true -} - -apply from: "$rootDir/common.gradle" +ext { + extName = 'Meitua.top' + extClass = '.MeituaTop' + extVersionCode = 9 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/all/meituatop/src/eu/kanade/tachiyomi/extension/all/meituatop/MeituaTop.kt b/src/all/meituatop/src/eu/kanade/tachiyomi/extension/all/meituatop/MeituaTop.kt index 2e75e9f27..3472e01ed 100644 --- a/src/all/meituatop/src/eu/kanade/tachiyomi/extension/all/meituatop/MeituaTop.kt +++ b/src/all/meituatop/src/eu/kanade/tachiyomi/extension/all/meituatop/MeituaTop.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.all.meituatop - + import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList diff --git a/src/all/namicomi/build.gradle b/src/all/namicomi/build.gradle index 308aa7a6e..f6e973062 100644 --- a/src/all/namicomi/build.gradle +++ b/src/all/namicomi/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'NamiComi' extClass = '.NamiComiFactory' - extVersionCode = 2 + extVersionCode = 3 isNsfw = false } diff --git a/src/all/namicomi/src/eu/kanade/tachiyomi/extension/all/namicomi/NamiComi.kt b/src/all/namicomi/src/eu/kanade/tachiyomi/extension/all/namicomi/NamiComi.kt index 48d167749..a25bb5fcc 100644 --- a/src/all/namicomi/src/eu/kanade/tachiyomi/extension/all/namicomi/NamiComi.kt +++ b/src/all/namicomi/src/eu/kanade/tachiyomi/extension/all/namicomi/NamiComi.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.namicomi -import android.app.Application import android.content.SharedPreferences import androidx.preference.ListPreference import androidx.preference.PreferenceScreen @@ -22,6 +21,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import okhttp3.CacheControl @@ -31,8 +31,6 @@ import okhttp3.Request import okhttp3.RequestBody.Companion.toRequestBody import okhttp3.Response import okio.IOException -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get abstract class NamiComi(final override val lang: String, private val extLang: String = lang) : ConfigurableSource, HttpSource() { @@ -41,9 +39,7 @@ abstract class NamiComi(final override val lang: String, private val extLang: St override val baseUrl = NamiComiConstants.webUrl override val supportsLatest = true - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private val helper = NamiComiHelper(lang) diff --git a/src/all/nhentai/build.gradle b/src/all/nhentai/build.gradle index 7d43d3c2d..9a253e1c0 100644 --- a/src/all/nhentai/build.gradle +++ b/src/all/nhentai/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'NHentai' extClass = '.NHFactory' - extVersionCode = 50 + extVersionCode = 51 isNsfw = true } diff --git a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt index 2784f7e17..a8b4f1c52 100644 --- a/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt +++ b/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHentai.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.nhentai -import android.app.Application import android.content.SharedPreferences import androidx.preference.ListPreference import androidx.preference.PreferenceScreen @@ -25,6 +24,7 @@ import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.UpdateStrategy import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.HttpUrl.Companion.toHttpUrl @@ -34,8 +34,6 @@ import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy open class NHentai( @@ -53,9 +51,7 @@ open class NHentai( private val json: Json by injectLazy() - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override val client: OkHttpClient by lazy { network.cloudflareClient.newBuilder() diff --git a/src/all/novelcool/build.gradle b/src/all/novelcool/build.gradle index 47f1a30b9..628e57bc4 100644 --- a/src/all/novelcool/build.gradle +++ b/src/all/novelcool/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'NovelCool' extClass = '.NovelCoolFactory' - extVersionCode = 3 + extVersionCode = 4 isNsfw = true } diff --git a/src/all/novelcool/src/eu/kanade/tachiyomi/extension/all/novelcool/NovelCool.kt b/src/all/novelcool/src/eu/kanade/tachiyomi/extension/all/novelcool/NovelCool.kt index f15eac962..f7789fd5e 100644 --- a/src/all/novelcool/src/eu/kanade/tachiyomi/extension/all/novelcool/NovelCool.kt +++ b/src/all/novelcool/src/eu/kanade/tachiyomi/extension/all/novelcool/NovelCool.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.novelcool -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat @@ -17,6 +16,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json @@ -32,8 +32,6 @@ import org.jsoup.nodes.Document import org.jsoup.nodes.Element import org.jsoup.select.Elements import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Locale @@ -62,9 +60,7 @@ open class NovelCool( private val json: Json by injectLazy() - private val preference by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preference by getPreferencesLazy() override fun fetchPopularManga(page: Int): Observable { return when (preference.useAppApi) { diff --git a/src/all/peppercarrot/build.gradle b/src/all/peppercarrot/build.gradle index e9ab35165..d86a14bf7 100644 --- a/src/all/peppercarrot/build.gradle +++ b/src/all/peppercarrot/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Pepper&Carrot' extClass = '.PepperCarrot' - extVersionCode = 2 + extVersionCode = 3 } apply from: "$rootDir/common.gradle" diff --git a/src/all/peppercarrot/src/eu/kanade/tachiyomi/extension/all/peppercarrot/PepperCarrot.kt b/src/all/peppercarrot/src/eu/kanade/tachiyomi/extension/all/peppercarrot/PepperCarrot.kt index 42a872e77..68d035035 100644 --- a/src/all/peppercarrot/src/eu/kanade/tachiyomi/extension/all/peppercarrot/PepperCarrot.kt +++ b/src/all/peppercarrot/src/eu/kanade/tachiyomi/extension/all/peppercarrot/PepperCarrot.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.peppercarrot -import android.app.Application import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.ConfigurableSource @@ -11,6 +10,8 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences +import keiyoushi.utils.getPreferencesLazy import okhttp3.CacheControl import okhttp3.Request import okhttp3.Response @@ -18,8 +19,6 @@ import org.jsoup.nodes.TextNode import org.jsoup.select.Evaluator import rx.Observable import rx.Single -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit @@ -31,9 +30,7 @@ class PepperCarrot : HttpSource(), ConfigurableSource { override val baseUrl = BASE_URL - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000)!! - } + private val preferences by getPreferencesLazy() override fun fetchPopularManga(page: Int): Observable = Single.create { updateLangData(client, headers, preferences) diff --git a/src/all/photos18/build.gradle b/src/all/photos18/build.gradle index 5a94a5b96..be8e8bcb2 100644 --- a/src/all/photos18/build.gradle +++ b/src/all/photos18/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Photos18' extClass = '.Photos18' - extVersionCode = 5 + extVersionCode = 6 isNsfw = true } diff --git a/src/all/photos18/src/eu/kanade/tachiyomi/extension/all/photos18/Photos18.kt b/src/all/photos18/src/eu/kanade/tachiyomi/extension/all/photos18/Photos18.kt index 51c927b64..055905fab 100644 --- a/src/all/photos18/src/eu/kanade/tachiyomi/extension/all/photos18/Photos18.kt +++ b/src/all/photos18/src/eu/kanade/tachiyomi/extension/all/photos18/Photos18.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.photos18 -import android.app.Application import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat import eu.kanade.tachiyomi.network.GET @@ -13,6 +12,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import okhttp3.Headers import okhttp3.HttpUrl import okhttp3.HttpUrl.Companion.toHttpUrl @@ -21,8 +21,6 @@ import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.select.Evaluator import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class Photos18 : HttpSource(), ConfigurableSource { override val name = "Photos18" @@ -156,9 +154,7 @@ class Photos18 : HttpSource(), ConfigurableSource { } } - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000)!! - } + private val preferences by getPreferencesLazy() private val useTrad get() = preferences.getBoolean("ZH_HANT", false) diff --git a/src/all/pixiv/src/eu/kanade/tachiyomi/extension/all/pixiv/PixivFilters.kt b/src/all/pixiv/src/eu/kanade/tachiyomi/extension/all/pixiv/PixivFilters.kt index 0e14013f5..ae6cc8e6a 100644 --- a/src/all/pixiv/src/eu/kanade/tachiyomi/extension/all/pixiv/PixivFilters.kt +++ b/src/all/pixiv/src/eu/kanade/tachiyomi/extension/all/pixiv/PixivFilters.kt @@ -1,4 +1,5 @@ package eu.kanade.tachiyomi.extension.all.pixiv + import eu.kanade.tachiyomi.source.model.Filter private val TYPE_VALUES = arrayOf("All", "Illustrations", "Manga") diff --git a/src/all/pixiv/src/eu/kanade/tachiyomi/extension/all/pixiv/PixivTypes.kt b/src/all/pixiv/src/eu/kanade/tachiyomi/extension/all/pixiv/PixivTypes.kt index 0c57be291..adfe178eb 100644 --- a/src/all/pixiv/src/eu/kanade/tachiyomi/extension/all/pixiv/PixivTypes.kt +++ b/src/all/pixiv/src/eu/kanade/tachiyomi/extension/all/pixiv/PixivTypes.kt @@ -1,4 +1,5 @@ package eu.kanade.tachiyomi.extension.all.pixiv + import kotlinx.serialization.Serializable import kotlinx.serialization.json.JsonPrimitive diff --git a/src/all/projectsuki/build.gradle b/src/all/projectsuki/build.gradle index c8166e08a..009e36e58 100644 --- a/src/all/projectsuki/build.gradle +++ b/src/all/projectsuki/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Project Suki' extClass = '.ProjectSuki' - extVersionCode = 4 + extVersionCode = 5 } apply from: "$rootDir/common.gradle" diff --git a/src/all/projectsuki/src/eu/kanade/tachiyomi/extension/all/projectsuki/ProjectSuki.kt b/src/all/projectsuki/src/eu/kanade/tachiyomi/extension/all/projectsuki/ProjectSuki.kt index b1ec91908..d09ed21f4 100644 --- a/src/all/projectsuki/src/eu/kanade/tachiyomi/extension/all/projectsuki/ProjectSuki.kt +++ b/src/all/projectsuki/src/eu/kanade/tachiyomi/extension/all/projectsuki/ProjectSuki.kt @@ -22,6 +22,7 @@ import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.UpdateStrategy import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import kotlinx.serialization.json.Json import okhttp3.HttpUrl import okhttp3.HttpUrl.Companion.toHttpUrl @@ -188,7 +189,7 @@ class ProjectSuki : HttpSource(), ConfigurableSource { override val id: Long = 8965918600406781666L /** Handles extension preferences found in Extensions > Project Suki > Gear icon */ - private val preferences = ProjectSukiPreferences(id) + private val preferences = ProjectSukiPreferences(getPreferences()) /** See [Kotlinx-Serialization](https://github.com/Kotlin/kotlinx.serialization). */ private val json: Json = Json { diff --git a/src/all/projectsuki/src/eu/kanade/tachiyomi/extension/all/projectsuki/ProjectSukiPreferences.kt b/src/all/projectsuki/src/eu/kanade/tachiyomi/extension/all/projectsuki/ProjectSukiPreferences.kt index dd994e2e4..43de1d96d 100644 --- a/src/all/projectsuki/src/eu/kanade/tachiyomi/extension/all/projectsuki/ProjectSukiPreferences.kt +++ b/src/all/projectsuki/src/eu/kanade/tachiyomi/extension/all/projectsuki/ProjectSukiPreferences.kt @@ -1,14 +1,11 @@ package eu.kanade.tachiyomi.extension.all.projectsuki -import android.app.Application import android.content.SharedPreferences import androidx.preference.EditTextPreference import androidx.preference.ListPreference import androidx.preference.Preference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.util.Locale /** @@ -20,9 +17,7 @@ private inline val INFO: Nothing get() = error("INFO") /** * @author Federico d'Alonzo <me@npgx.dev> */ -class ProjectSukiPreferences(id: Long) { - - internal val shared by lazy { Injekt.get().getSharedPreferences("source_$id", 0x0000) } +class ProjectSukiPreferences(internal val shared: SharedPreferences) { abstract inner class PSPreference(val preferenceIdentifier: String, val default: Raw) { diff --git a/src/all/pururin/build.gradle b/src/all/pururin/build.gradle index b52cf0832..d456c6867 100644 --- a/src/all/pururin/build.gradle +++ b/src/all/pururin/build.gradle @@ -1,8 +1,8 @@ -ext { - extName = 'Pururin' - extClass = '.PururinFactory' - extVersionCode = 10 - isNsfw = true -} - -apply from: "$rootDir/common.gradle" +ext { + extName = 'Pururin' + extClass = '.PururinFactory' + extVersionCode = 10 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/all/pururin/src/eu/kanade/tachiyomi/extension/all/pururin/Pururin.kt b/src/all/pururin/src/eu/kanade/tachiyomi/extension/all/pururin/Pururin.kt index 8275e55eb..3c0686daf 100644 --- a/src/all/pururin/src/eu/kanade/tachiyomi/extension/all/pururin/Pururin.kt +++ b/src/all/pururin/src/eu/kanade/tachiyomi/extension/all/pururin/Pururin.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.all.pururin - + import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.Page diff --git a/src/all/pururin/src/eu/kanade/tachiyomi/extension/all/pururin/PururinFactory.kt b/src/all/pururin/src/eu/kanade/tachiyomi/extension/all/pururin/PururinFactory.kt index 95117dcd2..040479c89 100644 --- a/src/all/pururin/src/eu/kanade/tachiyomi/extension/all/pururin/PururinFactory.kt +++ b/src/all/pururin/src/eu/kanade/tachiyomi/extension/all/pururin/PururinFactory.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.all.pururin - + import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.SourceFactory diff --git a/src/all/pururin/src/eu/kanade/tachiyomi/extension/all/pururin/PururinFilters.kt b/src/all/pururin/src/eu/kanade/tachiyomi/extension/all/pururin/PururinFilters.kt index 40bc4006a..e1f1868fd 100644 --- a/src/all/pururin/src/eu/kanade/tachiyomi/extension/all/pururin/PururinFilters.kt +++ b/src/all/pururin/src/eu/kanade/tachiyomi/extension/all/pururin/PururinFilters.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.all.pururin - + import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList diff --git a/src/all/simplycosplay/build.gradle b/src/all/simplycosplay/build.gradle index 270cd0bcf..a09bf6025 100644 --- a/src/all/simplycosplay/build.gradle +++ b/src/all/simplycosplay/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Simply Cosplay' extClass = '.SimplyCosplay' - extVersionCode = 1 + extVersionCode = 2 isNsfw = true } diff --git a/src/all/simplycosplay/src/eu/kanade/tachiyomi/extension/all/simplycosplay/SimplyCosplay.kt b/src/all/simplycosplay/src/eu/kanade/tachiyomi/extension/all/simplycosplay/SimplyCosplay.kt index d2c1868fb..f88c1ce68 100644 --- a/src/all/simplycosplay/src/eu/kanade/tachiyomi/extension/all/simplycosplay/SimplyCosplay.kt +++ b/src/all/simplycosplay/src/eu/kanade/tachiyomi/extension/all/simplycosplay/SimplyCosplay.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.simplycosplay -import android.app.Application import android.content.SharedPreferences import android.util.Log import androidx.preference.ListPreference @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.HttpUrl @@ -24,8 +24,6 @@ import okhttp3.Interceptor import okhttp3.Request import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.io.IOException import java.text.SimpleDateFormat @@ -53,9 +51,7 @@ class SimplyCosplay : HttpSource(), ConfigurableSource { private val json: Json by injectLazy() - private val preference by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preference by getPreferencesLazy() private fun tokenIntercept(chain: Interceptor.Chain): Response { val request = chain.request() diff --git a/src/all/simplyhentai/build.gradle b/src/all/simplyhentai/build.gradle index 7aacd6486..22e53f6b6 100644 --- a/src/all/simplyhentai/build.gradle +++ b/src/all/simplyhentai/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Simply Hentai' extClass = '.SimplyHentaiFactory' - extVersionCode = 7 + extVersionCode = 8 isNsfw = true } diff --git a/src/all/simplyhentai/src/eu/kanade/tachiyomi/extension/all/simplyhentai/SimplyHentai.kt b/src/all/simplyhentai/src/eu/kanade/tachiyomi/extension/all/simplyhentai/SimplyHentai.kt index 3b1ee9de2..c931b9596 100644 --- a/src/all/simplyhentai/src/eu/kanade/tachiyomi/extension/all/simplyhentai/SimplyHentai.kt +++ b/src/all/simplyhentai/src/eu/kanade/tachiyomi/extension/all/simplyhentai/SimplyHentai.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.simplyhentai -import android.app.Application import android.net.Uri import androidx.preference.EditTextPreference import androidx.preference.PreferenceScreen @@ -12,11 +11,10 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromStream import okhttp3.Response -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Locale @@ -40,9 +38,7 @@ open class SimplyHentai( private val json: Json by injectLazy() - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000)!! - } + private val preferences by getPreferencesLazy() override fun popularMangaRequest(page: Int) = Uri.parse("$apiUrl/tag/$langName").buildUpon().run { diff --git a/src/all/solarmtl/build.gradle b/src/all/solarmtl/build.gradle index 5a8b5945f..26e4a5354 100644 --- a/src/all/solarmtl/build.gradle +++ b/src/all/solarmtl/build.gradle @@ -1,10 +1,10 @@ -ext { - extName = 'Solar Machine Translations' - extClass = '.SolarmtlFactory' - themePkg = 'machinetranslations' - baseUrl = 'https://solarmtl.com' - overrideVersionCode = 0 - isNsfw = true -} - -apply from: "$rootDir/common.gradle" +ext { + extName = 'Solar Machine Translations' + extClass = '.SolarmtlFactory' + themePkg = 'machinetranslations' + baseUrl = 'https://solarmtl.com' + overrideVersionCode = 0 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/all/solarmtl/src/eu/kanade/tachiyomi/extension/all/solarmtl/Solarmtl.kt b/src/all/solarmtl/src/eu/kanade/tachiyomi/extension/all/solarmtl/Solarmtl.kt index 23f86d7aa..92ad82647 100644 --- a/src/all/solarmtl/src/eu/kanade/tachiyomi/extension/all/solarmtl/Solarmtl.kt +++ b/src/all/solarmtl/src/eu/kanade/tachiyomi/extension/all/solarmtl/Solarmtl.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.all.solarmtl - + import android.os.Build import androidx.annotation.RequiresApi import eu.kanade.tachiyomi.multisrc.machinetranslations.Language diff --git a/src/all/solarmtl/src/eu/kanade/tachiyomi/extension/all/solarmtl/SolarmtlFactory.kt b/src/all/solarmtl/src/eu/kanade/tachiyomi/extension/all/solarmtl/SolarmtlFactory.kt index fc801c47e..10da66dbd 100644 --- a/src/all/solarmtl/src/eu/kanade/tachiyomi/extension/all/solarmtl/SolarmtlFactory.kt +++ b/src/all/solarmtl/src/eu/kanade/tachiyomi/extension/all/solarmtl/SolarmtlFactory.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.all.solarmtl - + import android.os.Build import androidx.annotation.RequiresApi import eu.kanade.tachiyomi.multisrc.machinetranslations.LanguageImpl diff --git a/src/all/thunderscans/build.gradle b/src/all/thunderscans/build.gradle index b9e556425..e4fa83963 100644 --- a/src/all/thunderscans/build.gradle +++ b/src/all/thunderscans/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.ThunderScansFactory' themePkg = 'mangathemesia' baseUrl = 'https://en-thunderscans.com' - overrideVersionCode = 9 + overrideVersionCode = 10 isNsfw = false } diff --git a/src/all/webtoons/build.gradle b/src/all/webtoons/build.gradle index c3fe02a78..131b9bd4a 100644 --- a/src/all/webtoons/build.gradle +++ b/src/all/webtoons/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.WebtoonsFactory' themePkg = 'webtoons' baseUrl = 'https://www.webtoons.com' - overrideVersionCode = 39 + overrideVersionCode = 40 } apply from: "$rootDir/common.gradle" diff --git a/src/all/webtoons/src/eu/kanade/tachiyomi/extension/all/webtoons/WebtoonsSrc.kt b/src/all/webtoons/src/eu/kanade/tachiyomi/extension/all/webtoons/WebtoonsSrc.kt index 6ecdf1309..cf4f9813f 100644 --- a/src/all/webtoons/src/eu/kanade/tachiyomi/extension/all/webtoons/WebtoonsSrc.kt +++ b/src/all/webtoons/src/eu/kanade/tachiyomi/extension/all/webtoons/WebtoonsSrc.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.all.webtoons -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat @@ -10,12 +9,11 @@ import eu.kanade.tachiyomi.multisrc.webtoons.Webtoons import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.Page +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.json.jsonObject import kotlinx.serialization.json.jsonPrimitive import okhttp3.OkHttpClient import org.jsoup.nodes.Document -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale @@ -32,9 +30,7 @@ open class WebtoonsSrc( .addInterceptor(TextInterceptor()) .build() - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override fun setupPreferenceScreen(screen: PreferenceScreen) { val authorsNotesPref = SwitchPreferenceCompat(screen.context).apply { diff --git a/src/ar/dilar/build.gradle b/src/ar/dilar/build.gradle index 195858f45..acafc8abe 100644 --- a/src/ar/dilar/build.gradle +++ b/src/ar/dilar/build.gradle @@ -2,7 +2,7 @@ ext { extName = 'Dilar' extClass = '.Dilar' themePkg = 'gmanga' - overrideVersionCode = 2 + overrideVersionCode = 3 } apply from: "$rootDir/common.gradle" diff --git a/src/ar/dilar/src/eu/kanade/tachiyomi/extension/ar/dilar/Dilar.kt b/src/ar/dilar/src/eu/kanade/tachiyomi/extension/ar/dilar/Dilar.kt index 41cc0a3f0..75dbc3158 100644 --- a/src/ar/dilar/src/eu/kanade/tachiyomi/extension/ar/dilar/Dilar.kt +++ b/src/ar/dilar/src/eu/kanade/tachiyomi/extension/ar/dilar/Dilar.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.ar.dilar -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.ListPreference @@ -10,10 +9,9 @@ import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga +import keiyoushi.utils.getPreferencesLazy import okhttp3.Request import okhttp3.Response -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get private const val MIRROR_PREF_KEY = "MIRROR" private const val MIRROR_PREF_TITLE = "Dilar : Mirror Urls" @@ -65,7 +63,5 @@ class Dilar : override val cdnUrl by lazy { baseUrl } - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() } diff --git a/src/ar/empirewebtoon/build.gradle b/src/ar/empirewebtoon/build.gradle index abeb36d86..e0fb0dcb0 100644 --- a/src/ar/empirewebtoon/build.gradle +++ b/src/ar/empirewebtoon/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.EmpireWebtoon' themePkg = 'madara' baseUrl = 'https://webtoonempire-ron.com' - overrideVersionCode = 4 + overrideVersionCode = 5 isNsfw = true } diff --git a/src/ar/empirewebtoon/src/eu/kanade/tachiyomi/extension/ar/empirewebtoon/EmpireWebtoon.kt b/src/ar/empirewebtoon/src/eu/kanade/tachiyomi/extension/ar/empirewebtoon/EmpireWebtoon.kt index 55a3dc332..1d21d0eb9 100644 --- a/src/ar/empirewebtoon/src/eu/kanade/tachiyomi/extension/ar/empirewebtoon/EmpireWebtoon.kt +++ b/src/ar/empirewebtoon/src/eu/kanade/tachiyomi/extension/ar/empirewebtoon/EmpireWebtoon.kt @@ -1,13 +1,11 @@ package eu.kanade.tachiyomi.extension.ar.empirewebtoon -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.source.ConfigurableSource -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferences import java.text.SimpleDateFormat import java.util.Locale @@ -20,8 +18,7 @@ class EmpireWebtoon : ), ConfigurableSource { - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() init { preferences.getString(DEFAULT_BASE_URL_PREF, null).let { prefDefaultBaseUrl -> diff --git a/src/ar/hentaislayer/build.gradle b/src/ar/hentaislayer/build.gradle index 44980fecf..a2ebb8e7c 100644 --- a/src/ar/hentaislayer/build.gradle +++ b/src/ar/hentaislayer/build.gradle @@ -2,7 +2,7 @@ ext { extName = 'Hentai Slayer' extClass = '.HentaiSlayer' themePkg = 'fuzzydoodle' - overrideVersionCode = 2 + overrideVersionCode = 3 isNsfw = true } diff --git a/src/ar/hentaislayer/src/eu/kanade/tachiyomi/extension/ar/hentaislayer/HentaiSlayer.kt b/src/ar/hentaislayer/src/eu/kanade/tachiyomi/extension/ar/hentaislayer/HentaiSlayer.kt index 67ed88b60..49bd69121 100644 --- a/src/ar/hentaislayer/src/eu/kanade/tachiyomi/extension/ar/hentaislayer/HentaiSlayer.kt +++ b/src/ar/hentaislayer/src/eu/kanade/tachiyomi/extension/ar/hentaislayer/HentaiSlayer.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.ar.hentaislayer -import android.app.Application import android.widget.Toast import androidx.preference.ListPreference import androidx.preference.PreferenceScreen @@ -8,8 +7,7 @@ import eu.kanade.tachiyomi.multisrc.fuzzydoodle.FuzzyDoodle import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.ConfigurableSource -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferencesLazy class HentaiSlayer : FuzzyDoodle("هنتاي سلاير", "https://hentaislayer.net", "ar"), ConfigurableSource { @@ -20,9 +18,7 @@ class HentaiSlayer : FuzzyDoodle("هنتاي سلاير", "https://hentaislayer. override fun headersBuilder() = super.headersBuilder() .set("Origin", baseUrl) - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences by getPreferencesLazy() override fun latestPageRequest(page: Int) = GET("$baseUrl/latest-${getLatestTypes()}?page=$page", headers) diff --git a/src/ar/mangalek/build.gradle b/src/ar/mangalek/build.gradle index af5834c4a..90749bdf5 100644 --- a/src/ar/mangalek/build.gradle +++ b/src/ar/mangalek/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.Mangalek' themePkg = 'madara' baseUrl = 'https://lekmanga.net' - overrideVersionCode = 7 + overrideVersionCode = 8 isNsfw = false } diff --git a/src/ar/mangalek/src/eu/kanade/tachiyomi/extension/ar/mangalek/Mangalek.kt b/src/ar/mangalek/src/eu/kanade/tachiyomi/extension/ar/mangalek/Mangalek.kt index 347de2b84..88924ac73 100644 --- a/src/ar/mangalek/src/eu/kanade/tachiyomi/extension/ar/mangalek/Mangalek.kt +++ b/src/ar/mangalek/src/eu/kanade/tachiyomi/extension/ar/mangalek/Mangalek.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.ar.mangalek -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.ListPreference @@ -11,13 +10,12 @@ import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.SManga +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.Serializable import kotlinx.serialization.decodeFromString import okhttp3.FormBody import okhttp3.Request import okhttp3.Response -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.ParseException import java.text.SimpleDateFormat import java.util.Locale @@ -54,9 +52,7 @@ class Mangalek : } } - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override fun setupPreferenceScreen(screen: PreferenceScreen) { val mirrorPref = ListPreference(screen.context).apply { diff --git a/src/ar/mangalink/build.gradle b/src/ar/mangalink/build.gradle index b0f2dc013..c6a26e6a3 100644 --- a/src/ar/mangalink/build.gradle +++ b/src/ar/mangalink/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.Mangalink' themePkg = 'madara' baseUrl = 'https://link-manga.com' - overrideVersionCode = 3 + overrideVersionCode = 4 } apply from: "$rootDir/common.gradle" diff --git a/src/ar/mangalink/src/eu/kanade/tachiyomi/extension/ar/mangalink/Mangalink.kt b/src/ar/mangalink/src/eu/kanade/tachiyomi/extension/ar/mangalink/Mangalink.kt index fc0167c1b..929b3e5e0 100644 --- a/src/ar/mangalink/src/eu/kanade/tachiyomi/extension/ar/mangalink/Mangalink.kt +++ b/src/ar/mangalink/src/eu/kanade/tachiyomi/extension/ar/mangalink/Mangalink.kt @@ -1,13 +1,11 @@ package eu.kanade.tachiyomi.extension.ar.mangalink -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.source.ConfigurableSource -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferencesLazy import java.text.SimpleDateFormat import java.util.Locale @@ -24,9 +22,7 @@ class Mangalink : override val useLoadMoreRequest = LoadMoreStrategy.Always override val baseUrl by lazy { getPrefBaseUrl() } - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() companion object { private const val RESTART_TACHIYOMI = ".لتطبيق الإعدادات الجديدة Tachiyomi أعد تشغيل" diff --git a/src/ar/mangaswat/build.gradle b/src/ar/mangaswat/build.gradle index 8fc1853ac..77be6f50d 100644 --- a/src/ar/mangaswat/build.gradle +++ b/src/ar/mangaswat/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.MangaSwat' themePkg = 'mangathemesia' baseUrl = 'https://swatscans.com' - overrideVersionCode = 25 + overrideVersionCode = 26 } apply from: "$rootDir/common.gradle" diff --git a/src/ar/mangaswat/src/eu/kanade/tachiyomi/extension/ar/mangaswat/MangaSwat.kt b/src/ar/mangaswat/src/eu/kanade/tachiyomi/extension/ar/mangaswat/MangaSwat.kt index a9ec6ef7d..34dd667b3 100644 --- a/src/ar/mangaswat/src/eu/kanade/tachiyomi/extension/ar/mangaswat/MangaSwat.kt +++ b/src/ar/mangaswat/src/eu/kanade/tachiyomi/extension/ar/mangaswat/MangaSwat.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.ar.mangaswat -import android.app.Application import android.widget.Toast import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia @@ -12,6 +11,7 @@ import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.Serializable import kotlinx.serialization.decodeFromString import okhttp3.FormBody @@ -23,8 +23,6 @@ import okhttp3.ResponseBody.Companion.toResponseBody import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale @@ -39,9 +37,7 @@ class MangaSwat : override val baseUrl by lazy { getPrefBaseUrl() } - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences by getPreferencesLazy() override val client = super.client.newBuilder() .addInterceptor(::tokenInterceptor) diff --git a/src/ar/teamx/build.gradle b/src/ar/teamx/build.gradle index ae877a4bb..265e1257b 100644 --- a/src/ar/teamx/build.gradle +++ b/src/ar/teamx/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Team X' extClass = '.TeamX' - extVersionCode = 19 + extVersionCode = 20 isNsfw = false } diff --git a/src/ar/teamx/src/eu/kanade/tachiyomi/extension/ar/teamx/TeamX.kt b/src/ar/teamx/src/eu/kanade/tachiyomi/extension/ar/teamx/TeamX.kt index 270f75d56..0661ee5c8 100644 --- a/src/ar/teamx/src/eu/kanade/tachiyomi/extension/ar/teamx/TeamX.kt +++ b/src/ar/teamx/src/eu/kanade/tachiyomi/extension/ar/teamx/TeamX.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.ar.teamx -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.PreferenceScreen @@ -14,13 +13,12 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit @@ -43,9 +41,7 @@ class TeamX : ParsedHttpSource(), ConfigurableSource { .rateLimit(10, 1, TimeUnit.SECONDS) .build() - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() // Popular diff --git a/src/en/allanime/build.gradle b/src/en/allanime/build.gradle index 6f66d724e..c2278542a 100644 --- a/src/en/allanime/build.gradle +++ b/src/en/allanime/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'AllManga' extClass = '.AllManga' - extVersionCode = 8 + extVersionCode = 9 } apply from: "$rootDir/common.gradle" diff --git a/src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt b/src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt index 6d15bc053..127c85a77 100644 --- a/src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt +++ b/src/en/allanime/src/eu/kanade/tachiyomi/extension/en/allanime/AllManga.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.en.allanime -import android.app.Application import android.content.SharedPreferences import androidx.preference.ListPreference import androidx.preference.PreferenceScreen @@ -16,12 +15,11 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.json.float import okhttp3.Request import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class AllManga : ConfigurableSource, HttpSource() { @@ -37,9 +35,7 @@ class AllManga : ConfigurableSource, HttpSource() { override val supportsLatest = true - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences by getPreferencesLazy() override val client = network.cloudflareClient.newBuilder() .rateLimit(1) diff --git a/src/en/asurascans/build.gradle b/src/en/asurascans/build.gradle index ae67f844f..96921a83e 100644 --- a/src/en/asurascans/build.gradle +++ b/src/en/asurascans/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Asura Scans' extClass = '.AsuraScans' - extVersionCode = 45 + extVersionCode = 46 } apply from: "$rootDir/common.gradle" diff --git a/src/en/asurascans/src/eu/kanade/tachiyomi/extension/en/asurascans/AsuraScans.kt b/src/en/asurascans/src/eu/kanade/tachiyomi/extension/en/asurascans/AsuraScans.kt index 66890b20c..4ddf7cd0a 100644 --- a/src/en/asurascans/src/eu/kanade/tachiyomi/extension/en/asurascans/AsuraScans.kt +++ b/src/en/asurascans/src/eu/kanade/tachiyomi/extension/en/asurascans/AsuraScans.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.en.asurascans -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat @@ -13,6 +12,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferences import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json @@ -23,8 +23,6 @@ import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Locale @@ -44,8 +42,7 @@ class AsuraScans : ParsedHttpSource(), ConfigurableSource { private val dateFormat = SimpleDateFormat("MMMM d yyyy", Locale.US) - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() init { // remove legacy preferences diff --git a/src/en/clowncorps/build.gradle b/src/en/clowncorps/build.gradle index a46b77f4f..0a9ade80c 100644 --- a/src/en/clowncorps/build.gradle +++ b/src/en/clowncorps/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Clown Corps' extClass = '.ClownCorps' - extVersionCode = 1 + extVersionCode = 2 } apply from: "$rootDir/common.gradle" diff --git a/src/en/clowncorps/src/eu/kanade/tachiyomi/extension/en/clowncorps/ClownCorps.kt b/src/en/clowncorps/src/eu/kanade/tachiyomi/extension/en/clowncorps/ClownCorps.kt index 5ceee1242..fbe5c85ca 100644 --- a/src/en/clowncorps/src/eu/kanade/tachiyomi/extension/en/clowncorps/ClownCorps.kt +++ b/src/en/clowncorps/src/eu/kanade/tachiyomi/extension/en/clowncorps/ClownCorps.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.en.clowncorps -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.MultiSelectListPreference @@ -17,6 +16,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.Serializable import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString @@ -24,8 +24,6 @@ import kotlinx.serialization.json.Json import okhttp3.Response import org.jsoup.nodes.Document import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.ParseException import java.text.SimpleDateFormat import java.util.Locale @@ -181,9 +179,7 @@ class ClownCorps : ConfigurableSource, HttpSource() { override fun searchMangaRequest(page: Int, query: String, filters: FilterList) = throw UnsupportedOperationException() - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private fun getShowAuthorsNotesPref() = preferences.getBoolean(SETTING_KEY_SHOW_AUTHORS_NOTES, false) diff --git a/src/en/constellarscans/build.gradle b/src/en/constellarscans/build.gradle index e8a779461..230509564 100644 --- a/src/en/constellarscans/build.gradle +++ b/src/en/constellarscans/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.ConstellarScans' themePkg = 'mangathemesia' baseUrl = 'https://constellarcomic.com' - overrideVersionCode = 16 + overrideVersionCode = 17 isNsfw = true } diff --git a/src/en/constellarscans/src/eu/kanade/tachiyomi/extension/en/constellarscans/ConstellarScans.kt b/src/en/constellarscans/src/eu/kanade/tachiyomi/extension/en/constellarscans/ConstellarScans.kt index 71137c219..7bf21fe17 100644 --- a/src/en/constellarscans/src/eu/kanade/tachiyomi/extension/en/constellarscans/ConstellarScans.kt +++ b/src/en/constellarscans/src/eu/kanade/tachiyomi/extension/en/constellarscans/ConstellarScans.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.en.constellarscans -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen @@ -12,6 +11,7 @@ import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.json.jsonArray import kotlinx.serialization.json.jsonObject import kotlinx.serialization.json.jsonPrimitive @@ -20,8 +20,6 @@ import okhttp3.Headers import okhttp3.OkHttpClient import okhttp3.Request import org.jsoup.nodes.Document -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class ConstellarScans : MangaThemesia( @@ -31,9 +29,7 @@ class ConstellarScans : ), ConfigurableSource { - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override fun setupPreferenceScreen(screen: PreferenceScreen) { addRandomUAPreferenceToScreen(screen) diff --git a/src/en/grrlpower/build.gradle b/src/en/grrlpower/build.gradle index 8e9cf3654..c26594654 100644 --- a/src/en/grrlpower/build.gradle +++ b/src/en/grrlpower/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Grrl Power Comic' extClass = '.GrrlPower' - extVersionCode = 2 + extVersionCode = 3 } apply from: "$rootDir/common.gradle" diff --git a/src/en/grrlpower/src/eu/kanade/tachiyomi/extension/en/grrlpower/GrrlPower.kt b/src/en/grrlpower/src/eu/kanade/tachiyomi/extension/en/grrlpower/GrrlPower.kt index f87f52cc1..7e518f5c3 100644 --- a/src/en/grrlpower/src/eu/kanade/tachiyomi/extension/en/grrlpower/GrrlPower.kt +++ b/src/en/grrlpower/src/eu/kanade/tachiyomi/extension/en/grrlpower/GrrlPower.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.en.grrlpower -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat @@ -16,11 +15,10 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import okhttp3.Request import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Calendar import java.util.Locale @@ -121,9 +119,7 @@ class GrrlPower( // Show Authors Notes Pref Copied from // ProjectRoot/multisrc/overrides/webtoons/webtoons/src/WebtoonsSrc.kt - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() companion object { private const val SHOW_AUTHORS_NOTES_KEY = "showAuthorsNotes" } diff --git a/src/en/hiperdex/build.gradle b/src/en/hiperdex/build.gradle index a80b22924..ad57726a4 100644 --- a/src/en/hiperdex/build.gradle +++ b/src/en/hiperdex/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.Hiperdex' themePkg = 'madara' baseUrl = 'https://hipertoon.com' - overrideVersionCode = 16 + overrideVersionCode = 17 isNsfw = true } diff --git a/src/en/hiperdex/src/eu/kanade/tachiyomi/extension/en/hiperdex/Hiperdex.kt b/src/en/hiperdex/src/eu/kanade/tachiyomi/extension/en/hiperdex/Hiperdex.kt index 471500023..ddc4179dc 100644 --- a/src/en/hiperdex/src/eu/kanade/tachiyomi/extension/en/hiperdex/Hiperdex.kt +++ b/src/en/hiperdex/src/eu/kanade/tachiyomi/extension/en/hiperdex/Hiperdex.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.en.hiperdex -import android.app.Application import android.widget.Toast import androidx.preference.EditTextPreference import androidx.preference.PreferenceScreen @@ -11,8 +10,7 @@ import eu.kanade.tachiyomi.lib.randomua.setRandomUserAgent import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.ConfigurableSource -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferences class Hiperdex : Madara( @@ -24,8 +22,7 @@ class Hiperdex : override val mangaDetailsSelectorStatus = "div.summary-heading:contains(Status) + div.summary-content" - private val preferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() override val baseUrl by lazy { getPrefBaseUrl() } diff --git a/src/en/lunarscans/build.gradle b/src/en/lunarscans/build.gradle index d7228ca76..d85575a48 100644 --- a/src/en/lunarscans/build.gradle +++ b/src/en/lunarscans/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.LunarScans' themePkg = 'mangathemesia' baseUrl = 'https://lunarscan.org' - overrideVersionCode = 2 + overrideVersionCode = 3 isNsfw = true } diff --git a/src/en/lunarscans/src/eu/kanade/tachiyomi/extension/en/lunarscans/LunarScans.kt b/src/en/lunarscans/src/eu/kanade/tachiyomi/extension/en/lunarscans/LunarScans.kt index 9d9db7ab1..42d2c9d1b 100644 --- a/src/en/lunarscans/src/eu/kanade/tachiyomi/extension/en/lunarscans/LunarScans.kt +++ b/src/en/lunarscans/src/eu/kanade/tachiyomi/extension/en/lunarscans/LunarScans.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.en.lunarscans -import android.app.Application import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen import eu.kanade.tachiyomi.lib.randomua.getPrefCustomUA @@ -13,12 +12,11 @@ import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.Page +import keiyoushi.utils.getPreferences import kotlinx.serialization.Serializable import kotlinx.serialization.decodeFromString import okhttp3.Request import org.jsoup.nodes.Document -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class LunarScans : MangaThemesia( @@ -29,7 +27,7 @@ class LunarScans : ), ConfigurableSource { - private val preferences = Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() override val client = super.client.newBuilder() .setRandomUserAgent( diff --git a/src/en/madokami/build.gradle b/src/en/madokami/build.gradle index 52cdb3886..01ad52097 100644 --- a/src/en/madokami/build.gradle +++ b/src/en/madokami/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Madokami' extClass = '.Madokami' - extVersionCode = 9 + extVersionCode = 10 } apply from: "$rootDir/common.gradle" diff --git a/src/en/madokami/src/eu/kanade/tachiyomi/extension/en/madokami/Madokami.kt b/src/en/madokami/src/eu/kanade/tachiyomi/extension/en/madokami/Madokami.kt index 713761916..aad64bfb4 100644 --- a/src/en/madokami/src/eu/kanade/tachiyomi/extension/en/madokami/Madokami.kt +++ b/src/en/madokami/src/eu/kanade/tachiyomi/extension/en/madokami/Madokami.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.en.madokami -import android.app.Application import android.content.SharedPreferences import android.text.InputType import eu.kanade.tachiyomi.network.GET @@ -10,6 +9,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonArray @@ -22,8 +22,6 @@ import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.io.IOException import java.net.URLDecoder @@ -42,9 +40,7 @@ class Madokami : ConfigurableSource, ParsedHttpSource() { private val dateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.ENGLISH) - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private fun authenticate(request: Request): Request { val credential = Credentials.basic(preferences.getString("username", "")!!, preferences.getString("password", "")!!) diff --git a/src/en/mangadistrict/build.gradle b/src/en/mangadistrict/build.gradle index e2dce16d6..f25b90449 100644 --- a/src/en/mangadistrict/build.gradle +++ b/src/en/mangadistrict/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.MangaDistrict' themePkg = 'madara' baseUrl = 'https://mangadistrict.com' - overrideVersionCode = 8 + overrideVersionCode = 9 isNsfw = true } diff --git a/src/en/mangadistrict/src/eu/kanade/tachiyomi/extension/en/mangadistrict/MangaDistrict.kt b/src/en/mangadistrict/src/eu/kanade/tachiyomi/extension/en/mangadistrict/MangaDistrict.kt index 3339dea7d..f2c0cdbed 100644 --- a/src/en/mangadistrict/src/eu/kanade/tachiyomi/extension/en/mangadistrict/MangaDistrict.kt +++ b/src/en/mangadistrict/src/eu/kanade/tachiyomi/extension/en/mangadistrict/MangaDistrict.kt @@ -1,7 +1,6 @@ package eu.kanade.tachiyomi.extension.en.mangadistrict import android.annotation.SuppressLint -import android.app.Application import android.content.SharedPreferences import androidx.preference.ListPreference import androidx.preference.PreferenceScreen @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import okhttp3.HttpUrl.Companion.toHttpUrl @@ -23,8 +23,6 @@ import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale import java.util.TimeZone @@ -39,9 +37,7 @@ class MangaDistrict : override val mangaSubString = "read-scan" - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override fun popularMangaNextPageSelector() = "div[role=navigation] span.current + a.page" diff --git a/src/en/mangago/build.gradle b/src/en/mangago/build.gradle index f55ba5fa3..cc2bfdbbf 100644 --- a/src/en/mangago/build.gradle +++ b/src/en/mangago/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Mangago' extClass = '.Mangago' - extVersionCode = 24 + extVersionCode = 25 isNsfw = true } diff --git a/src/en/mangago/src/eu/kanade/tachiyomi/extension/en/mangago/Mangago.kt b/src/en/mangago/src/eu/kanade/tachiyomi/extension/en/mangago/Mangago.kt index d4aa82b50..8bd370f8f 100644 --- a/src/en/mangago/src/eu/kanade/tachiyomi/extension/en/mangago/Mangago.kt +++ b/src/en/mangago/src/eu/kanade/tachiyomi/extension/en/mangago/Mangago.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.en.mangago -import android.app.Application import android.content.SharedPreferences import android.graphics.Bitmap import android.graphics.BitmapFactory @@ -23,6 +22,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferencesLazy import okhttp3.Headers import okhttp3.HttpUrl import okhttp3.HttpUrl.Companion.toHttpUrl @@ -31,8 +31,6 @@ import okhttp3.Request import okhttp3.ResponseBody.Companion.toResponseBody import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.io.ByteArrayOutputStream import java.io.InputStream import java.net.URLEncoder @@ -52,9 +50,7 @@ class Mangago : ParsedHttpSource(), ConfigurableSource { override val supportsLatest = true - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override val client = network.cloudflareClient.newBuilder() .rateLimit(1, 2) diff --git a/src/en/mangahen/build.gradle b/src/en/mangahen/build.gradle index 73915d78a..c1ac662d7 100644 --- a/src/en/mangahen/build.gradle +++ b/src/en/mangahen/build.gradle @@ -1,8 +1,8 @@ -ext { - extName = 'MangaHen' - extClass = '.MangaHen' - extVersionCode = 2 - isNsfw = true -} - -apply from: "$rootDir/common.gradle" +ext { + extName = 'MangaHen' + extClass = '.MangaHen' + extVersionCode = 2 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/en/mangahen/src/eu/kanade/tachiyomi/extension/en/mangahen/MangaHen.kt b/src/en/mangahen/src/eu/kanade/tachiyomi/extension/en/mangahen/MangaHen.kt index ac81e6ee0..5902c4e2d 100644 --- a/src/en/mangahen/src/eu/kanade/tachiyomi/extension/en/mangahen/MangaHen.kt +++ b/src/en/mangahen/src/eu/kanade/tachiyomi/extension/en/mangahen/MangaHen.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.en.mangahen - + import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage diff --git a/src/en/mangahen/src/eu/kanade/tachiyomi/extension/en/mangahen/MangaHenFilters.kt b/src/en/mangahen/src/eu/kanade/tachiyomi/extension/en/mangahen/MangaHenFilters.kt index 62418adc9..eec3c5aff 100644 --- a/src/en/mangahen/src/eu/kanade/tachiyomi/extension/en/mangahen/MangaHenFilters.kt +++ b/src/en/mangahen/src/eu/kanade/tachiyomi/extension/en/mangahen/MangaHenFilters.kt @@ -1,5 +1,5 @@ package eu.kanade.tachiyomi.extension.en.mangahen - + import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList diff --git a/src/en/mangakatana/build.gradle b/src/en/mangakatana/build.gradle index d18b00940..106c45cda 100644 --- a/src/en/mangakatana/build.gradle +++ b/src/en/mangakatana/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'MangaKatana' extClass = '.MangaKatana' - extVersionCode = 10 + extVersionCode = 11 } apply from: "$rootDir/common.gradle" diff --git a/src/en/mangakatana/src/eu/kanade/tachiyomi/extension/en/mangakatana/MangaKatana.kt b/src/en/mangakatana/src/eu/kanade/tachiyomi/extension/en/mangakatana/MangaKatana.kt index 08f724ba9..a9c3f936a 100644 --- a/src/en/mangakatana/src/eu/kanade/tachiyomi/extension/en/mangakatana/MangaKatana.kt +++ b/src/en/mangakatana/src/eu/kanade/tachiyomi/extension/en/mangakatana/MangaKatana.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.en.mangakatana -import android.app.Application import android.content.SharedPreferences import androidx.preference.ListPreference import androidx.preference.PreferenceScreen @@ -14,6 +13,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.OkHttpClient @@ -22,8 +22,6 @@ import okhttp3.Response import okhttp3.ResponseBody.Companion.toResponseBody import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale @@ -36,9 +34,7 @@ class MangaKatana : ConfigurableSource, ParsedHttpSource() { override val supportsLatest = true - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private val serverPreference = "SERVER_PREFERENCE" override val client: OkHttpClient = network.cloudflareClient.newBuilder().addNetworkInterceptor { chain -> diff --git a/src/en/mangamo/build.gradle b/src/en/mangamo/build.gradle index 647332f2f..be76c930f 100644 --- a/src/en/mangamo/build.gradle +++ b/src/en/mangamo/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Mangamo' extClass = '.Mangamo' - extVersionCode = 2 + extVersionCode = 3 isNsfw = false } diff --git a/src/en/mangamo/src/eu/kanade/tachiyomi/extension/en/mangamo/Mangamo.kt b/src/en/mangamo/src/eu/kanade/tachiyomi/extension/en/mangamo/Mangamo.kt index 1903d2dda..55b0d107d 100644 --- a/src/en/mangamo/src/eu/kanade/tachiyomi/extension/en/mangamo/Mangamo.kt +++ b/src/en/mangamo/src/eu/kanade/tachiyomi/extension/en/mangamo/Mangamo.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.en.mangamo -import android.app.Application import android.content.SharedPreferences import androidx.preference.EditTextPreference import androidx.preference.MultiSelectListPreference @@ -23,14 +22,13 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.RequestBody.Companion.toRequestBody import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.io.IOException class Mangamo : ConfigurableSource, HttpSource() { @@ -43,9 +41,7 @@ class Mangamo : ConfigurableSource, HttpSource() { override val supportsLatest = true - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private val helper = MangamoHelper(headers) diff --git a/src/en/monochromecustom/build.gradle b/src/en/monochromecustom/build.gradle index 29bde0eab..5bed69cde 100644 --- a/src/en/monochromecustom/build.gradle +++ b/src/en/monochromecustom/build.gradle @@ -2,7 +2,7 @@ ext { extName = 'Monochrome Custom' extClass = '.MonochromeCustom' themePkg = 'monochrome' - overrideVersionCode = 0 + overrideVersionCode = 1 } apply from: "$rootDir/common.gradle" diff --git a/src/en/monochromecustom/src/eu/kanade/tachiyomi/extension/en/monochromecustom/MonochromeCustom.kt b/src/en/monochromecustom/src/eu/kanade/tachiyomi/extension/en/monochromecustom/MonochromeCustom.kt index 7a942e288..2bfad8eef 100644 --- a/src/en/monochromecustom/src/eu/kanade/tachiyomi/extension/en/monochromecustom/MonochromeCustom.kt +++ b/src/en/monochromecustom/src/eu/kanade/tachiyomi/extension/en/monochromecustom/MonochromeCustom.kt @@ -1,12 +1,10 @@ package eu.kanade.tachiyomi.extension.en.monochromecustom -import android.app.Application import androidx.preference.EditTextPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.multisrc.monochrome.MonochromeCMS import eu.kanade.tachiyomi.source.ConfigurableSource -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferencesLazy class MonochromeCustom : ConfigurableSource, MonochromeCMS("Monochrome Custom", "", "en") { @@ -18,9 +16,7 @@ class MonochromeCustom : ConfigurableSource, preferences.getString("apiUrl", DEMO_API_URL)!! } - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000)!! - } + private val preferences by getPreferencesLazy() override fun setupPreferenceScreen(screen: PreferenceScreen) { EditTextPreference(screen.context).apply { diff --git a/src/en/nightscans/build.gradle b/src/en/nightscans/build.gradle index fd7eda63f..4067af8f2 100644 --- a/src/en/nightscans/build.gradle +++ b/src/en/nightscans/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.NightScans' themePkg = 'mangathemesia' baseUrl = 'https://nightsup.net' - overrideVersionCode = 10 + overrideVersionCode = 11 isNsfw = true } diff --git a/src/en/questionablecontent/build.gradle b/src/en/questionablecontent/build.gradle index b8c1f4b6f..3ab9d456f 100644 --- a/src/en/questionablecontent/build.gradle +++ b/src/en/questionablecontent/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Questionable Content' extClass = '.QuestionableContent' - extVersionCode = 7 + extVersionCode = 8 } apply from: "$rootDir/common.gradle" diff --git a/src/en/questionablecontent/src/eu/kanade/tachiyomi/extension/en/questionablecontent/QuestionableContent.kt b/src/en/questionablecontent/src/eu/kanade/tachiyomi/extension/en/questionablecontent/QuestionableContent.kt index 30b92e50f..c21601e1f 100644 --- a/src/en/questionablecontent/src/eu/kanade/tachiyomi/extension/en/questionablecontent/QuestionableContent.kt +++ b/src/en/questionablecontent/src/eu/kanade/tachiyomi/extension/en/questionablecontent/QuestionableContent.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.en.questionablecontent -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat @@ -13,14 +12,13 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferencesLazy import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.util.Date class QuestionableContent : ParsedHttpSource(), ConfigurableSource { @@ -52,9 +50,7 @@ class QuestionableContent : ParsedHttpSource(), ConfigurableSource { override fun fetchMangaDetails(manga: SManga) = fetchPopularManga(1).map { it.mangas.first() } - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override fun chapterListParse(response: Response): List { val chapters = super.chapterListParse(response).distinct() diff --git a/src/en/readcomiconline/build.gradle b/src/en/readcomiconline/build.gradle index ebcdf5f91..072d07195 100644 --- a/src/en/readcomiconline/build.gradle +++ b/src/en/readcomiconline/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'ReadComicOnline' extClass = '.Readcomiconline' - extVersionCode = 28 + extVersionCode = 29 } apply from: "$rootDir/common.gradle" diff --git a/src/en/readcomiconline/src/eu/kanade/tachiyomi/extension/en/readcomiconline/Readcomiconline.kt b/src/en/readcomiconline/src/eu/kanade/tachiyomi/extension/en/readcomiconline/Readcomiconline.kt index ac1bcf4c9..f4c87506e 100644 --- a/src/en/readcomiconline/src/eu/kanade/tachiyomi/extension/en/readcomiconline/Readcomiconline.kt +++ b/src/en/readcomiconline/src/eu/kanade/tachiyomi/extension/en/readcomiconline/Readcomiconline.kt @@ -22,6 +22,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.HttpUrl.Companion.toHttpUrl @@ -75,9 +76,7 @@ class Readcomiconline : ConfigurableSource, ParsedHttpSource() { private var captchaUrl: String? = null - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override fun popularMangaSelector() = ".list-comic > .item > a:first-child" diff --git a/src/en/reaperscans/src/eu/kanade/tachiyomi/extension/en/reaperscans/ReaperScansDto.kt b/src/en/reaperscans/src/eu/kanade/tachiyomi/extension/en/reaperscans/ReaperScansDto.kt index eb61ac2da..b4eb4f6bd 100644 --- a/src/en/reaperscans/src/eu/kanade/tachiyomi/extension/en/reaperscans/ReaperScansDto.kt +++ b/src/en/reaperscans/src/eu/kanade/tachiyomi/extension/en/reaperscans/ReaperScansDto.kt @@ -1,4 +1,5 @@ package eu.kanade.tachiyomi.extension.en.reaperscans + import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/src/en/rizzcomic/build.gradle b/src/en/rizzcomic/build.gradle index 391cfeaa0..c51591662 100644 --- a/src/en/rizzcomic/build.gradle +++ b/src/en/rizzcomic/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.RizzComic' themePkg = 'mangathemesia' baseUrl = 'https://rizzfables.com' - overrideVersionCode = 9 + overrideVersionCode = 10 } apply from: "$rootDir/common.gradle" diff --git a/src/en/tapastic/build.gradle b/src/en/tapastic/build.gradle index 48606be86..e213995df 100644 --- a/src/en/tapastic/build.gradle +++ b/src/en/tapastic/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Tapas' extClass = '.Tapastic' - extVersionCode = 20 + extVersionCode = 21 isNsfw = true } diff --git a/src/en/tapastic/src/eu/kanade/tachiyomi/extension/en/tapastic/Tapastic.kt b/src/en/tapastic/src/eu/kanade/tachiyomi/extension/en/tapastic/Tapastic.kt index 8f31ee85b..51d026c95 100644 --- a/src/en/tapastic/src/eu/kanade/tachiyomi/extension/en/tapastic/Tapastic.kt +++ b/src/en/tapastic/src/eu/kanade/tachiyomi/extension/en/tapastic/Tapastic.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.en.tapastic -import android.app.Application import android.content.SharedPreferences import android.webkit.CookieManager import androidx.preference.PreferenceScreen @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.json.Json import kotlinx.serialization.json.boolean import kotlinx.serialization.json.int @@ -32,8 +32,6 @@ import okhttp3.Response import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Locale @@ -99,9 +97,7 @@ class Tapastic : ConfigurableSource, ParsedHttpSource() { .addInterceptor(TextInterceptor()) .build() - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override fun headersBuilder(): Headers.Builder = Headers.Builder() .add("Referer", "https://m.tapas.io") diff --git a/src/en/tcbscans/build.gradle b/src/en/tcbscans/build.gradle index 15d0dfe61..0b97ff449 100644 --- a/src/en/tcbscans/build.gradle +++ b/src/en/tcbscans/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'TCB Scans' extClass = '.TCBScans' - extVersionCode = 8 + extVersionCode = 9 } apply from: "$rootDir/common.gradle" diff --git a/src/en/tcbscans/src/eu/kanade/tachiyomi/extension/en/tcbscans/TCBScans.kt b/src/en/tcbscans/src/eu/kanade/tachiyomi/extension/en/tcbscans/TCBScans.kt index 1ceaa4ba0..dc391958b 100644 --- a/src/en/tcbscans/src/eu/kanade/tachiyomi/extension/en/tcbscans/TCBScans.kt +++ b/src/en/tcbscans/src/eu/kanade/tachiyomi/extension/en/tcbscans/TCBScans.kt @@ -9,6 +9,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferences import okhttp3.Request import okhttp3.Response import okio.IOException @@ -123,7 +124,7 @@ class TCBScans : ParsedHttpSource() { init { val context = Injekt.get() - val prefs = context.getSharedPreferences("source_$id", 0x0000) + val prefs = getPreferences() if (!prefs.getBoolean("legacy_updateTime_removed", false)) { try { diff --git a/src/en/theblank/build.gradle b/src/en/theblank/build.gradle index 6d1a36bcd..91fa900e1 100644 --- a/src/en/theblank/build.gradle +++ b/src/en/theblank/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.TheBlank' themePkg = 'madara' baseUrl = 'https://theblank.net' - overrideVersionCode = 2 + overrideVersionCode = 3 isNsfw = true } diff --git a/src/en/theblank/src/eu/kanade/tachiyomi/extension/en/theblank/TheBlank.kt b/src/en/theblank/src/eu/kanade/tachiyomi/extension/en/theblank/TheBlank.kt index d4e3902fa..f639cd39d 100644 --- a/src/en/theblank/src/eu/kanade/tachiyomi/extension/en/theblank/TheBlank.kt +++ b/src/en/theblank/src/eu/kanade/tachiyomi/extension/en/theblank/TheBlank.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.en.theblank -import android.app.Application import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen import eu.kanade.tachiyomi.lib.randomua.getPrefCustomUA @@ -9,8 +8,7 @@ import eu.kanade.tachiyomi.lib.randomua.setRandomUserAgent import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.ConfigurableSource -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferences import java.text.SimpleDateFormat import java.util.Locale @@ -23,7 +21,7 @@ class TheBlank : ), ConfigurableSource { - private val preferences = Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() override val client = super.client.newBuilder() .rateLimit(1) diff --git a/src/en/webcomics/build.gradle b/src/en/webcomics/build.gradle index 4d2d2bf7b..7790dc259 100644 --- a/src/en/webcomics/build.gradle +++ b/src/en/webcomics/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Webcomics' extClass = '.Webcomics' - extVersionCode = 5 + extVersionCode = 6 } apply from: "$rootDir/common.gradle" diff --git a/src/en/webcomics/src/eu/kanade/tachiyomi/extension/en/webcomics/Webcomics.kt b/src/en/webcomics/src/eu/kanade/tachiyomi/extension/en/webcomics/Webcomics.kt index 8344a7d04..d612f2470 100644 --- a/src/en/webcomics/src/eu/kanade/tachiyomi/extension/en/webcomics/Webcomics.kt +++ b/src/en/webcomics/src/eu/kanade/tachiyomi/extension/en/webcomics/Webcomics.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.en.webcomics -import android.app.Application import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.lib.randomua.PREF_KEY_RANDOM_UA import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferences import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.HttpUrl.Companion.toHttpUrl @@ -23,8 +23,6 @@ import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy class Webcomics : ParsedHttpSource(), ConfigurableSource { @@ -41,7 +39,7 @@ class Webcomics : ParsedHttpSource(), ConfigurableSource { private val json: Json by injectLazy() - private val preferences = Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() override fun headersBuilder() = super.headersBuilder() .set("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") diff --git a/src/es/emperorscan/build.gradle b/src/es/emperorscan/build.gradle index f9197315d..89f3ba6d9 100644 --- a/src/es/emperorscan/build.gradle +++ b/src/es/emperorscan/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.EmperorScan' themePkg = 'madara' baseUrl = 'https://zonaemperor.com' - overrideVersionCode = 6 + overrideVersionCode = 7 isNsfw = false } diff --git a/src/es/emperorscan/src/eu/kanade/tachiyomi/extension/es/emperorscan/EmperorScan.kt b/src/es/emperorscan/src/eu/kanade/tachiyomi/extension/es/emperorscan/EmperorScan.kt index 94884a19a..844a29fd7 100644 --- a/src/es/emperorscan/src/eu/kanade/tachiyomi/extension/es/emperorscan/EmperorScan.kt +++ b/src/es/emperorscan/src/eu/kanade/tachiyomi/extension/es/emperorscan/EmperorScan.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.es.emperorscan -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen @@ -10,9 +9,8 @@ import eu.kanade.tachiyomi.lib.randomua.setRandomUserAgent import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.network.interceptor.rateLimitHost import eu.kanade.tachiyomi.source.ConfigurableSource +import keiyoushi.utils.getPreferences import okhttp3.HttpUrl.Companion.toHttpUrl -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale @@ -25,8 +23,7 @@ class EmperorScan : ), ConfigurableSource { - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() override val useLoadMoreRequest = LoadMoreStrategy.Never override val useNewChapterEndpoint = true diff --git a/src/es/ikigaimangas/build.gradle b/src/es/ikigaimangas/build.gradle index 8b55c7c92..a6d8b2076 100644 --- a/src/es/ikigaimangas/build.gradle +++ b/src/es/ikigaimangas/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Ikigai Mangas' extClass = '.IkigaiMangas' - extVersionCode = 23 + extVersionCode = 24 isNsfw = true } diff --git a/src/es/ikigaimangas/src/eu/kanade/tachiyomi/extension/es/ikigaimangas/IkigaiMangas.kt b/src/es/ikigaimangas/src/eu/kanade/tachiyomi/extension/es/ikigaimangas/IkigaiMangas.kt index 4f9c6aa60..81d8f39fd 100644 --- a/src/es/ikigaimangas/src/eu/kanade/tachiyomi/extension/es/ikigaimangas/IkigaiMangas.kt +++ b/src/es/ikigaimangas/src/eu/kanade/tachiyomi/extension/es/ikigaimangas/IkigaiMangas.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.es.ikigaimangas -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.EditTextPreference @@ -18,13 +17,12 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request import okhttp3.Response -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Locale @@ -85,8 +83,7 @@ class IkigaiMangas : HttpSource(), ConfigurableSource { .build() } - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() private val lazyHeaders by lazy { headersBuilder() diff --git a/src/es/lectortmo/build.gradle b/src/es/lectortmo/build.gradle index 275278c88..485f7a266 100644 --- a/src/es/lectortmo/build.gradle +++ b/src/es/lectortmo/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'TuMangaOnline' extClass = '.LectorTmo' - extVersionCode = 6 + extVersionCode = 7 isNsfw = true } diff --git a/src/es/lectortmo/src/eu/kanade/tachiyomi/extension/es/lectortmo/LectorTmo.kt b/src/es/lectortmo/src/eu/kanade/tachiyomi/extension/es/lectortmo/LectorTmo.kt index 08a92ad62..846f8cc8e 100644 --- a/src/es/lectortmo/src/eu/kanade/tachiyomi/extension/es/lectortmo/LectorTmo.kt +++ b/src/es/lectortmo/src/eu/kanade/tachiyomi/extension/es/lectortmo/LectorTmo.kt @@ -1,7 +1,6 @@ package eu.kanade.tachiyomi.extension.es.lectortmo import android.annotation.SuppressLint -import android.app.Application import android.content.SharedPreferences import androidx.preference.CheckBoxPreference import androidx.preference.PreferenceScreen @@ -18,6 +17,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import okhttp3.FormBody import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient @@ -26,8 +26,6 @@ import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.security.SecureRandom import java.security.cert.X509Certificate import java.text.SimpleDateFormat @@ -47,9 +45,7 @@ class LectorTmo : ParsedHttpSource(), ConfigurableSource { override val lang = "es" - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override val supportsLatest = true diff --git a/src/es/mangacrab/build.gradle b/src/es/mangacrab/build.gradle index e0060f69b..49e438043 100644 --- a/src/es/mangacrab/build.gradle +++ b/src/es/mangacrab/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.MangaCrab' themePkg = 'madara' baseUrl = 'https://wikicrab.xyz' - overrideVersionCode = 11 + overrideVersionCode = 12 } apply from: "$rootDir/common.gradle" diff --git a/src/es/mangacrab/src/eu/kanade/tachiyomi/extension/es/mangacrab/MangaCrab.kt b/src/es/mangacrab/src/eu/kanade/tachiyomi/extension/es/mangacrab/MangaCrab.kt index 508ca1001..6dc3ee3a4 100644 --- a/src/es/mangacrab/src/eu/kanade/tachiyomi/extension/es/mangacrab/MangaCrab.kt +++ b/src/es/mangacrab/src/eu/kanade/tachiyomi/extension/es/mangacrab/MangaCrab.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.es.mangacrab -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen @@ -10,8 +9,7 @@ import eu.kanade.tachiyomi.lib.randomua.setRandomUserAgent import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.ConfigurableSource -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferences import java.text.SimpleDateFormat import java.util.Locale @@ -24,8 +22,7 @@ class MangaCrab : ), ConfigurableSource { - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() override val client = super.client.newBuilder() .setRandomUserAgent( diff --git a/src/es/mangamx/build.gradle b/src/es/mangamx/build.gradle index 84911e0d4..b9a67ba40 100644 --- a/src/es/mangamx/build.gradle +++ b/src/es/mangamx/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'MangaOni' extClass = '.MangaOni' - extVersionCode = 16 + extVersionCode = 17 isNsfw = true } diff --git a/src/es/mangamx/src/eu/kanade/tachiyomi/extension/es/mangamx/MangaOni.kt b/src/es/mangamx/src/eu/kanade/tachiyomi/extension/es/mangamx/MangaOni.kt index 9cc8ffd18..9bef31615 100644 --- a/src/es/mangamx/src/eu/kanade/tachiyomi/extension/es/mangamx/MangaOni.kt +++ b/src/es/mangamx/src/eu/kanade/tachiyomi/extension/es/mangamx/MangaOni.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.es.mangamx -import android.app.Application import android.content.SharedPreferences import android.net.Uri import android.util.Base64 @@ -14,12 +13,11 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.nio.charset.Charset import java.text.SimpleDateFormat import java.util.Locale @@ -310,9 +308,7 @@ open class MangaOni : ConfigurableSource, ParsedHttpSource() { Pair("Isekai", "43"), ) - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) { val contentPref = androidx.preference.CheckBoxPreference(screen.context).apply { diff --git a/src/es/noblessetranslations/build.gradle b/src/es/noblessetranslations/build.gradle index 633975369..9fe863321 100644 --- a/src/es/noblessetranslations/build.gradle +++ b/src/es/noblessetranslations/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.NoblesseTranslations' themePkg = 'madara' baseUrl = 'https://www.swordalada.org' - overrideVersionCode = 5 + overrideVersionCode = 6 } apply from: "$rootDir/common.gradle" diff --git a/src/es/noblessetranslations/src/eu/kanade/tachiyomi/extension/es/noblessetranslations/NoblesseTranslations.kt b/src/es/noblessetranslations/src/eu/kanade/tachiyomi/extension/es/noblessetranslations/NoblesseTranslations.kt index 8a05328f3..574cebce1 100644 --- a/src/es/noblessetranslations/src/eu/kanade/tachiyomi/extension/es/noblessetranslations/NoblesseTranslations.kt +++ b/src/es/noblessetranslations/src/eu/kanade/tachiyomi/extension/es/noblessetranslations/NoblesseTranslations.kt @@ -1,14 +1,12 @@ package eu.kanade.tachiyomi.extension.es.noblessetranslations -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.EditTextPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.source.ConfigurableSource -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferences import java.text.SimpleDateFormat import java.util.Locale @@ -21,8 +19,7 @@ class NoblesseTranslations : ), ConfigurableSource { - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() override val baseUrl by lazy { getPrefBaseUrl() } diff --git a/src/es/olympusscanlation/build.gradle b/src/es/olympusscanlation/build.gradle index 75985470c..d2ab46ef8 100644 --- a/src/es/olympusscanlation/build.gradle +++ b/src/es/olympusscanlation/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Olympus Scanlation' extClass = '.OlympusScanlation' - extVersionCode = 13 + extVersionCode = 14 } apply from: "$rootDir/common.gradle" diff --git a/src/es/olympusscanlation/src/eu/kanade/tachiyomi/extension/es/olympusscanlation/OlympusScanlation.kt b/src/es/olympusscanlation/src/eu/kanade/tachiyomi/extension/es/olympusscanlation/OlympusScanlation.kt index 759b0a762..e454e6481 100644 --- a/src/es/olympusscanlation/src/eu/kanade/tachiyomi/extension/es/olympusscanlation/OlympusScanlation.kt +++ b/src/es/olympusscanlation/src/eu/kanade/tachiyomi/extension/es/olympusscanlation/OlympusScanlation.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.es.olympusscanlation -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.CheckBoxPreference @@ -17,13 +16,12 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request import okhttp3.Response -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Locale @@ -68,8 +66,7 @@ class OlympusScanlation : HttpSource(), ConfigurableSource { override val supportsLatest: Boolean = true - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() override val client by lazy { network.cloudflareClient.newBuilder() diff --git a/src/es/plottwistnofansub/build.gradle b/src/es/plottwistnofansub/build.gradle index 188827076..c770b6061 100644 --- a/src/es/plottwistnofansub/build.gradle +++ b/src/es/plottwistnofansub/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Plot Twist No Fansub' extClass = '.PlotTwistNoFansub' - extVersionCode = 8 + extVersionCode = 9 isNsfw = true } diff --git a/src/es/plottwistnofansub/src/eu/kanade/tachiyomi/extension/es/plottwistnofansub/PlotTwistNoFansub.kt b/src/es/plottwistnofansub/src/eu/kanade/tachiyomi/extension/es/plottwistnofansub/PlotTwistNoFansub.kt index bb855ed60..6985d37f0 100644 --- a/src/es/plottwistnofansub/src/eu/kanade/tachiyomi/extension/es/plottwistnofansub/PlotTwistNoFansub.kt +++ b/src/es/plottwistnofansub/src/eu/kanade/tachiyomi/extension/es/plottwistnofansub/PlotTwistNoFansub.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.es.plottwistnofansub -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen @@ -19,6 +18,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.FormBody @@ -32,8 +32,6 @@ import org.jsoup.nodes.Document import org.jsoup.nodes.Element import org.jsoup.nodes.Entities import org.jsoup.select.Elements -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy class PlotTwistNoFansub : ParsedHttpSource(), ConfigurableSource { @@ -48,8 +46,7 @@ class PlotTwistNoFansub : ParsedHttpSource(), ConfigurableSource { private val json: Json by injectLazy() - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x000) + private val preferences: SharedPreferences = getPreferences() override val client: OkHttpClient = network.cloudflareClient.newBuilder() .setRandomUserAgent( diff --git a/src/es/tmohentai/build.gradle b/src/es/tmohentai/build.gradle index f2a38cb83..ff1b20943 100644 --- a/src/es/tmohentai/build.gradle +++ b/src/es/tmohentai/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'TMOHentai' extClass = '.TMOHentai' - extVersionCode = 9 + extVersionCode = 10 isNsfw = true } diff --git a/src/es/tmohentai/src/eu/kanade/tachiyomi/extension/es/tmohentai/TMOHentai.kt b/src/es/tmohentai/src/eu/kanade/tachiyomi/extension/es/tmohentai/TMOHentai.kt index 70a1b9be0..c63861547 100644 --- a/src/es/tmohentai/src/eu/kanade/tachiyomi/extension/es/tmohentai/TMOHentai.kt +++ b/src/es/tmohentai/src/eu/kanade/tachiyomi/extension/es/tmohentai/TMOHentai.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.es.tmohentai -import android.app.Application import android.content.SharedPreferences import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.asObservableSuccess @@ -14,6 +13,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.UpdateStrategy import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferencesLazy import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient @@ -21,8 +21,6 @@ import okhttp3.Request import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class TMOHentai : ConfigurableSource, ParsedHttpSource() { @@ -41,9 +39,7 @@ class TMOHentai : ConfigurableSource, ParsedHttpSource() { override fun headersBuilder(): Headers.Builder = super.headersBuilder() .set("Referer", "$baseUrl/") - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override fun popularMangaRequest(page: Int) = GET("$baseUrl/section/all?view=list&page=$page&order=popularity&order-dir=desc&search[searchText]=&search[searchBy]=name&type=all", headers) diff --git a/src/fr/japanread/build.gradle b/src/fr/japanread/build.gradle index 2acbe545e..83ff30155 100644 --- a/src/fr/japanread/build.gradle +++ b/src/fr/japanread/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Bento Manga' extClass = '.BentoManga' - extVersionCode = 15 + extVersionCode = 16 isNsfw = true } diff --git a/src/fr/japanread/src/eu/kanade/tachiyomi/extension/fr/japanread/BentoManga.kt b/src/fr/japanread/src/eu/kanade/tachiyomi/extension/fr/japanread/BentoManga.kt index 00a9abbf7..26489bddb 100644 --- a/src/fr/japanread/src/eu/kanade/tachiyomi/extension/fr/japanread/BentoManga.kt +++ b/src/fr/japanread/src/eu/kanade/tachiyomi/extension/fr/japanread/BentoManga.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.fr.japanread -import android.app.Application import android.net.Uri import android.widget.Toast import androidx.preference.EditTextPreference @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import kotlinx.serialization.json.Json import kotlinx.serialization.json.jsonArray import kotlinx.serialization.json.jsonObject @@ -27,8 +27,6 @@ import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.util.Calendar import java.util.concurrent.TimeUnit @@ -67,7 +65,7 @@ class BentoManga : ParsedHttpSource(), ConfigurableSource { set("Sec-Fetch-User", "?1") } - val preferences = Injekt.get().getSharedPreferences("source_$id", 0x0000) + val preferences = getPreferences() val userAgent = preferences.getString(USER_AGENT_PREF, "")!! return if (userAgent.isNotBlank()) { builder.set("User-Agent", userAgent) diff --git a/src/fr/japscan/build.gradle b/src/fr/japscan/build.gradle index 31fda5f86..aae08cd26 100644 --- a/src/fr/japscan/build.gradle +++ b/src/fr/japscan/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Japscan' extClass = '.Japscan' - extVersionCode = 48 + extVersionCode = 49 } apply from: "$rootDir/common.gradle" diff --git a/src/fr/japscan/src/eu/kanade/tachiyomi/extension/fr/japscan/Japscan.kt b/src/fr/japscan/src/eu/kanade/tachiyomi/extension/fr/japscan/Japscan.kt index 1d566a59c..12e584589 100644 --- a/src/fr/japscan/src/eu/kanade/tachiyomi/extension/fr/japscan/Japscan.kt +++ b/src/fr/japscan/src/eu/kanade/tachiyomi/extension/fr/japscan/Japscan.kt @@ -21,6 +21,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.jsonArray @@ -55,9 +56,7 @@ class Japscan : ConfigurableSource, ParsedHttpSource() { private val json: Json by injectLazy() - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override val client: OkHttpClient = network.cloudflareClient.newBuilder() .rateLimit(1, 2) diff --git a/src/fr/sushiscan/build.gradle b/src/fr/sushiscan/build.gradle index b88ddce26..a8991c6a3 100644 --- a/src/fr/sushiscan/build.gradle +++ b/src/fr/sushiscan/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.SushiScan' themePkg = 'mangathemesia' baseUrl = 'https://sushiscan.net' - overrideVersionCode = 12 + overrideVersionCode = 13 } apply from: "$rootDir/common.gradle" diff --git a/src/fr/sushiscan/src/eu/kanade/tachiyomi/extension/fr/sushiscan/SushiScan.kt b/src/fr/sushiscan/src/eu/kanade/tachiyomi/extension/fr/sushiscan/SushiScan.kt index 4226a7555..45386d85c 100644 --- a/src/fr/sushiscan/src/eu/kanade/tachiyomi/extension/fr/sushiscan/SushiScan.kt +++ b/src/fr/sushiscan/src/eu/kanade/tachiyomi/extension/fr/sushiscan/SushiScan.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.fr.sushiscan -import android.app.Application import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen import eu.kanade.tachiyomi.lib.randomua.getPrefCustomUA @@ -13,6 +12,7 @@ import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SManga +import keiyoushi.utils.getPreferences import kotlinx.serialization.Serializable import kotlinx.serialization.decodeFromString import okhttp3.Headers @@ -20,8 +20,6 @@ import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient import okhttp3.Request import org.jsoup.nodes.Document -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit @@ -36,7 +34,7 @@ class SushiScan : ), ConfigurableSource { - private val preferences = Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() override fun setupPreferenceScreen(screen: PreferenceScreen) { addRandomUAPreferenceToScreen(screen) diff --git a/src/id/doujindesu/build.gradle b/src/id/doujindesu/build.gradle index c21f76341..9861e6443 100644 --- a/src/id/doujindesu/build.gradle +++ b/src/id/doujindesu/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'DoujinDesu' extClass = '.DoujinDesu' - extVersionCode = 8 + extVersionCode = 9 isNsfw = true } diff --git a/src/id/doujindesu/src/eu/kanade/tachiyomi/extension/id/doujindesu/DoujinDesu.kt b/src/id/doujindesu/src/eu/kanade/tachiyomi/extension/id/doujindesu/DoujinDesu.kt index 8006d4426..f6a31b364 100644 --- a/src/id/doujindesu/src/eu/kanade/tachiyomi/extension/id/doujindesu/DoujinDesu.kt +++ b/src/id/doujindesu/src/eu/kanade/tachiyomi/extension/id/doujindesu/DoujinDesu.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.id.doujindesu -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.EditTextPreference @@ -17,6 +16,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import okhttp3.FormBody import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl @@ -24,8 +24,6 @@ import okhttp3.OkHttpClient import okhttp3.Request import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale @@ -39,9 +37,7 @@ class DoujinDesu : ParsedHttpSource(), ConfigurableSource { // Private stuff - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private val DATE_FORMAT by lazy { SimpleDateFormat("EEEE, dd MMMM yyyy", Locale("id")) diff --git a/src/id/doujinku/build.gradle b/src/id/doujinku/build.gradle index 8d9f17637..e295f2e13 100644 --- a/src/id/doujinku/build.gradle +++ b/src/id/doujinku/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.Doujinku' themePkg = 'mangathemesia' baseUrl = 'https://doujinku.xyz' - overrideVersionCode = 1 + overrideVersionCode = 2 isNsfw = true } diff --git a/src/id/doujinku/src/eu/kanade/tachiyomi/extension/id/doujinku/Doujinku.kt b/src/id/doujinku/src/eu/kanade/tachiyomi/extension/id/doujinku/Doujinku.kt index 47d155e09..e35d88b5c 100644 --- a/src/id/doujinku/src/eu/kanade/tachiyomi/extension/id/doujinku/Doujinku.kt +++ b/src/id/doujinku/src/eu/kanade/tachiyomi/extension/id/doujinku/Doujinku.kt @@ -1,13 +1,11 @@ package eu.kanade.tachiyomi.extension.id.doujinku -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia import eu.kanade.tachiyomi.source.ConfigurableSource -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferences import java.text.SimpleDateFormat import java.util.Locale @@ -19,8 +17,7 @@ class Doujinku : dateFormat = SimpleDateFormat("MMMM d, yyyy", Locale("id")), ), ConfigurableSource { - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() init { preferences.getString(DEFAULT_BASE_URL_PREF, null).let { prefDefaultBaseUrl -> diff --git a/src/id/shinigami/build.gradle b/src/id/shinigami/build.gradle index f1f94c521..e0dae92eb 100644 --- a/src/id/shinigami/build.gradle +++ b/src/id/shinigami/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.Shinigami' themePkg = 'madara' baseUrl = 'https://shinigami09.com' - overrideVersionCode = 30 + overrideVersionCode = 31 isNsfw = false } diff --git a/src/id/shinigami/src/eu/kanade/tachiyomi/extension/id/shinigami/Shinigami.kt b/src/id/shinigami/src/eu/kanade/tachiyomi/extension/id/shinigami/Shinigami.kt index 2e558f3d7..245f6f7a6 100644 --- a/src/id/shinigami/src/eu/kanade/tachiyomi/extension/id/shinigami/Shinigami.kt +++ b/src/id/shinigami/src/eu/kanade/tachiyomi/extension/id/shinigami/Shinigami.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.id.shinigami -import android.app.Application import android.content.SharedPreferences import android.util.Base64 import android.widget.Toast @@ -12,12 +11,11 @@ import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.Serializable import kotlinx.serialization.decodeFromString import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class Shinigami : Madara("Shinigami", "https://shinigami09.com", "id"), ConfigurableSource { // moved from Reaper Scans (id) to Shinigami (id) @@ -29,9 +27,7 @@ class Shinigami : Madara("Shinigami", "https://shinigami09.com", "id"), Configur override val useLoadMoreRequest = LoadMoreStrategy.Never - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override fun setupPreferenceScreen(screen: PreferenceScreen) { val baseUrlPref = androidx.preference.EditTextPreference(screen.context).apply { diff --git a/src/ja/manga9co/build.gradle b/src/ja/manga9co/build.gradle index 6438df6db..7d563d068 100644 --- a/src/ja/manga9co/build.gradle +++ b/src/ja/manga9co/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.MangaRaw' themePkg = 'mangaraw' baseUrl = 'https://manga1001.in' - overrideVersionCode = 2 + overrideVersionCode = 3 isNsfw = true } diff --git a/src/ja/manga9co/src/eu/kanade/tachiyomi/extension/ja/manga9co/MangaRaw.kt b/src/ja/manga9co/src/eu/kanade/tachiyomi/extension/ja/manga9co/MangaRaw.kt index c18180cb2..e81eeab71 100644 --- a/src/ja/manga9co/src/eu/kanade/tachiyomi/extension/ja/manga9co/MangaRaw.kt +++ b/src/ja/manga9co/src/eu/kanade/tachiyomi/extension/ja/manga9co/MangaRaw.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.ja.manga9co -import android.app.Application import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.multisrc.mangaraw.ImageListParser @@ -9,12 +8,11 @@ import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.Page +import keiyoushi.utils.getPreferences import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element import org.jsoup.select.Evaluator -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import kotlin.random.Random class MangaRaw : MangaRawTheme("MangaRaw", ""), ConfigurableSource { @@ -36,7 +34,7 @@ class MangaRaw : MangaRawTheme("MangaRaw", ""), ConfigurableSource { init { val mirrors = MIRRORS - val preferences = Injekt.get().getSharedPreferences("source_$id", 0x0000) + val preferences = getPreferences() var mirrorIndex = preferences.getString(MIRROR_PREF, "-1")!!.toInt() if (mirrorIndex !in mirrors.indices) { diff --git a/src/ko/newtoki/build.gradle b/src/ko/newtoki/build.gradle index da95f003d..e24163b21 100644 --- a/src/ko/newtoki/build.gradle +++ b/src/ko/newtoki/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'NewToki / ManaToki' extClass = '.TokiFactory' - extVersionCode = 32 + extVersionCode = 33 isNsfw = true } diff --git a/src/ko/newtoki/src/eu/kanade/tachiyomi/extension/ko/newtoki/Preferences.kt b/src/ko/newtoki/src/eu/kanade/tachiyomi/extension/ko/newtoki/Preferences.kt index fa81cab9f..1d1169f20 100644 --- a/src/ko/newtoki/src/eu/kanade/tachiyomi/extension/ko/newtoki/Preferences.kt +++ b/src/ko/newtoki/src/eu/kanade/tachiyomi/extension/ko/newtoki/Preferences.kt @@ -1,12 +1,10 @@ package eu.kanade.tachiyomi.extension.ko.newtoki -import android.app.Application import android.content.Context import android.content.SharedPreferences import androidx.preference.EditTextPreference import androidx.preference.ListPreference -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferences const val MANATOKI_ID = 2526381983439079467L // "NewToki/ko/1" const val NEWTOKI_ID = 1977818283770282459L // "NewToki (Webtoon)/ko/1" @@ -14,8 +12,8 @@ const val NEWTOKI_ID = 1977818283770282459L // "NewToki (Webtoon)/ko/1" const val MANATOKI_PREFIX = "manatoki" const val NEWTOKI_PREFIX = "newtoki" -val manaTokiPreferences = getSharedPreferences(MANATOKI_ID).migrate() -val newTokiPreferences = getSharedPreferences(NEWTOKI_ID).migrate() +val manaTokiPreferences = getPreferences(MANATOKI_ID).migrate() +val newTokiPreferences = getPreferences(NEWTOKI_ID).migrate() fun getPreferencesInternal(context: Context) = arrayOf( @@ -85,6 +83,3 @@ private const val DOMAIN_NUMBER_PREF = "domainNumber" private const val RATE_LIMIT_PERIOD_PREF = "rateLimitPeriod" private const val RATE_LIMIT_PERIOD_DEFAULT = 2.toString() private const val RATE_LIMIT_PERIOD_MAX = 9 - -private fun getSharedPreferences(id: Long): SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) diff --git a/src/ko/toonkor/build.gradle b/src/ko/toonkor/build.gradle index 3673d4bf5..4c77ffb46 100644 --- a/src/ko/toonkor/build.gradle +++ b/src/ko/toonkor/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Toonkor' extClass = '.Toonkor' - extVersionCode = 4 + extVersionCode = 5 } apply from: "$rootDir/common.gradle" diff --git a/src/ko/toonkor/src/eu/kanade/tachiyomi/extension/ko/toonkor/Toonkor.kt b/src/ko/toonkor/src/eu/kanade/tachiyomi/extension/ko/toonkor/Toonkor.kt index 68af6aeb0..04a4a6376 100644 --- a/src/ko/toonkor/src/eu/kanade/tachiyomi/extension/ko/toonkor/Toonkor.kt +++ b/src/ko/toonkor/src/eu/kanade/tachiyomi/extension/ko/toonkor/Toonkor.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.ko.toonkor -import android.app.Application import android.content.SharedPreferences import android.util.Base64 import eu.kanade.tachiyomi.AppInfo @@ -12,12 +11,11 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferencesLazy import okhttp3.OkHttpClient import okhttp3.Request import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.nio.charset.Charset import java.text.SimpleDateFormat import java.util.Locale @@ -186,9 +184,7 @@ class Toonkor : ConfigurableSource, ParsedHttpSource() { // Preferences - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) { val baseUrlPref = androidx.preference.EditTextPreference(screen.context).apply { diff --git a/src/ko/wolfdotcom/build.gradle b/src/ko/wolfdotcom/build.gradle index 10484ae79..4598f122f 100644 --- a/src/ko/wolfdotcom/build.gradle +++ b/src/ko/wolfdotcom/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Wolf.com' extClass = '.WolfFactory' - extVersionCode = 1 + extVersionCode = 2 isNsfw = true } diff --git a/src/ko/wolfdotcom/src/eu/kanade/tachiyomi/extension/ko/wolfdotcom/Wolf.kt b/src/ko/wolfdotcom/src/eu/kanade/tachiyomi/extension/ko/wolfdotcom/Wolf.kt index f45e3e7fc..7751e577e 100644 --- a/src/ko/wolfdotcom/src/eu/kanade/tachiyomi/extension/ko/wolfdotcom/Wolf.kt +++ b/src/ko/wolfdotcom/src/eu/kanade/tachiyomi/extension/ko/wolfdotcom/Wolf.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.ko.wolfdotcom -import android.app.Application import android.content.SharedPreferences import android.util.Log import androidx.preference.EditTextPreference @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.Serializable import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString @@ -27,8 +27,6 @@ import okhttp3.Response import org.jsoup.Jsoup import org.jsoup.nodes.Document import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.io.IOException import java.net.URLEncoder @@ -58,9 +56,7 @@ open class Wolf( private val json: Json by injectLazy() - private val preference: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preference: SharedPreferences by getPreferencesLazy() override fun fetchPopularManga(page: Int): Observable { return fetchSearchManga(page, "", POPULAR) diff --git a/src/pt/bakai/build.gradle b/src/pt/bakai/build.gradle index 9a436f985..a9ff1c4bd 100644 --- a/src/pt/bakai/build.gradle +++ b/src/pt/bakai/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Bakai' extClass = '.Bakai' - extVersionCode = 8 + extVersionCode = 9 isNsfw = true } diff --git a/src/pt/bakai/src/eu/kanade/tachiyomi/extension/pt/bakai/Bakai.kt b/src/pt/bakai/src/eu/kanade/tachiyomi/extension/pt/bakai/Bakai.kt index ff004f68d..ab5e348d6 100644 --- a/src/pt/bakai/src/eu/kanade/tachiyomi/extension/pt/bakai/Bakai.kt +++ b/src/pt/bakai/src/eu/kanade/tachiyomi/extension/pt/bakai/Bakai.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.pt.bakai -import android.app.Application import android.content.SharedPreferences import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.asObservableSuccess @@ -13,6 +12,7 @@ import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.model.UpdateStrategy import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import okhttp3.Cookie import okhttp3.CookieJar import okhttp3.HttpUrl @@ -23,8 +23,6 @@ import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.io.IOException import java.util.concurrent.TimeUnit @@ -60,8 +58,7 @@ class Bakai : ParsedHttpSource() { .build() } - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() override fun headersBuilder() = super.headersBuilder() .set("Referer", baseUrl) diff --git a/src/pt/blackoutcomics/build.gradle b/src/pt/blackoutcomics/build.gradle index a0cbbe98d..58b7b926c 100644 --- a/src/pt/blackoutcomics/build.gradle +++ b/src/pt/blackoutcomics/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Blackout Comics' extClass = '.BlackoutComics' - extVersionCode = 6 + extVersionCode = 7 isNsfw = true } diff --git a/src/pt/blackoutcomics/src/eu/kanade/tachiyomi/extension/pt/blackoutcomics/BlackoutComics.kt b/src/pt/blackoutcomics/src/eu/kanade/tachiyomi/extension/pt/blackoutcomics/BlackoutComics.kt index 117f988f3..11eedd3cf 100644 --- a/src/pt/blackoutcomics/src/eu/kanade/tachiyomi/extension/pt/blackoutcomics/BlackoutComics.kt +++ b/src/pt/blackoutcomics/src/eu/kanade/tachiyomi/extension/pt/blackoutcomics/BlackoutComics.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.pt.blackoutcomics -import android.app.Application import android.content.SharedPreferences import androidx.preference.EditTextPreference import androidx.preference.PreferenceScreen @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import okhttp3.FormBody import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Interceptor @@ -24,8 +24,6 @@ import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.io.IOException import java.text.SimpleDateFormat import java.util.Locale @@ -98,8 +96,7 @@ class BlackoutComics : ParsedHttpSource(), ConfigurableSource { return chain.proceed(request) } - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() override fun headersBuilder() = super.headersBuilder() diff --git a/src/pt/fenixmanhwas/src/eu/kanade/tachiyomi/extension/pt/fenixmanhwas/FenixManhwas.kt b/src/pt/fenixmanhwas/src/eu/kanade/tachiyomi/extension/pt/fenixmanhwas/FenixManhwas.kt index 0b1f44409..5c9c84452 100644 --- a/src/pt/fenixmanhwas/src/eu/kanade/tachiyomi/extension/pt/fenixmanhwas/FenixManhwas.kt +++ b/src/pt/fenixmanhwas/src/eu/kanade/tachiyomi/extension/pt/fenixmanhwas/FenixManhwas.kt @@ -1,4 +1,5 @@ package eu.kanade.tachiyomi.extension.pt.fenixmanhwas + import eu.kanade.tachiyomi.multisrc.madara.Madara class FenixManhwas : Madara( diff --git a/src/pt/hentaiteca/build.gradle b/src/pt/hentaiteca/build.gradle index 870b3d36e..f9ec61a75 100644 --- a/src/pt/hentaiteca/build.gradle +++ b/src/pt/hentaiteca/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.HentaiTeca' themePkg = 'madara' baseUrl = 'https://hentaiteca.net' - overrideVersionCode = 2 + overrideVersionCode = 3 isNsfw = true } diff --git a/src/pt/hentaiteca/src/eu/kanade/tachiyomi/extension/pt/hentaiteca/HentaiTeca.kt b/src/pt/hentaiteca/src/eu/kanade/tachiyomi/extension/pt/hentaiteca/HentaiTeca.kt index 19fd2a4a2..ed15bd789 100644 --- a/src/pt/hentaiteca/src/eu/kanade/tachiyomi/extension/pt/hentaiteca/HentaiTeca.kt +++ b/src/pt/hentaiteca/src/eu/kanade/tachiyomi/extension/pt/hentaiteca/HentaiTeca.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.pt.hentaiteca -import android.app.Application import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen import eu.kanade.tachiyomi.lib.randomua.getPrefCustomUA @@ -9,10 +8,9 @@ import eu.kanade.tachiyomi.lib.randomua.setRandomUserAgent import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.ConfigurableSource +import keiyoushi.utils.getPreferences import okhttp3.Headers import okhttp3.OkHttpClient -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit @@ -26,7 +24,7 @@ class HentaiTeca : ), ConfigurableSource { - private val preferences = Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() override val client: OkHttpClient = super.client.newBuilder() .setRandomUserAgent( diff --git a/src/pt/mangaonline/build.gradle b/src/pt/mangaonline/build.gradle index fb701df82..e6082e710 100644 --- a/src/pt/mangaonline/build.gradle +++ b/src/pt/mangaonline/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Manga Online' extClass = '.MangaOnline' - extVersionCode = 2 + extVersionCode = 3 isNsfw = true } diff --git a/src/pt/mangaonline/src/eu/kanade/tachiyomi/extension/pt/mangaonline/MangaOnline.kt b/src/pt/mangaonline/src/eu/kanade/tachiyomi/extension/pt/mangaonline/MangaOnline.kt index 78bb2f5b0..91dd4c9ee 100644 --- a/src/pt/mangaonline/src/eu/kanade/tachiyomi/extension/pt/mangaonline/MangaOnline.kt +++ b/src/pt/mangaonline/src/eu/kanade/tachiyomi/extension/pt/mangaonline/MangaOnline.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.pt.mangaonline -import android.app.Application import android.content.SharedPreferences import android.util.Log import androidx.preference.PreferenceScreen @@ -19,6 +18,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -28,8 +28,6 @@ import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit @@ -45,8 +43,7 @@ class MangaOnline : ParsedHttpSource(), ConfigurableSource { private var genresSet: Set = emptySet() - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() override val client: OkHttpClient = network.cloudflareClient.newBuilder() diff --git a/src/pt/randomscan/build.gradle b/src/pt/randomscan/build.gradle index d1149f6af..186002bee 100644 --- a/src/pt/randomscan/build.gradle +++ b/src/pt/randomscan/build.gradle @@ -2,7 +2,7 @@ ext { extName = 'Lura Toon' extClass = '.LuraToon' baseUrl = 'https://luratoons.net' - extVersionCode = 56 + extVersionCode = 57 } apply from: "$rootDir/common.gradle" diff --git a/src/pt/randomscan/src/eu/kanade/tachiyomi/extension/pt/randomscan/LuraToon.kt b/src/pt/randomscan/src/eu/kanade/tachiyomi/extension/pt/randomscan/LuraToon.kt index b9e201db5..32346de97 100644 --- a/src/pt/randomscan/src/eu/kanade/tachiyomi/extension/pt/randomscan/LuraToon.kt +++ b/src/pt/randomscan/src/eu/kanade/tachiyomi/extension/pt/randomscan/LuraToon.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.pt.randomscan -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.extension.pt.randomscan.dto.Capitulo @@ -22,13 +21,12 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.Interceptor import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Locale @@ -44,9 +42,7 @@ class LuraToon : HttpSource(), ConfigurableSource { private val json: Json by injectLazy() - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override val client = network.cloudflareClient .newBuilder() diff --git a/src/pt/remangas/build.gradle b/src/pt/remangas/build.gradle index 4491f2d1e..b5a070df9 100644 --- a/src/pt/remangas/build.gradle +++ b/src/pt/remangas/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.Remangas' themePkg = 'madara' baseUrl = 'https://remangas.net' - overrideVersionCode = 0 + overrideVersionCode = 1 isNsfw = true } diff --git a/src/pt/remangas/src/eu/kanade/tachiyomi/extension/pt/remangas/Remangas.kt b/src/pt/remangas/src/eu/kanade/tachiyomi/extension/pt/remangas/Remangas.kt index 12deb41ae..a749d75ba 100644 --- a/src/pt/remangas/src/eu/kanade/tachiyomi/extension/pt/remangas/Remangas.kt +++ b/src/pt/remangas/src/eu/kanade/tachiyomi/extension/pt/remangas/Remangas.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.pt.remangas -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen @@ -10,9 +9,8 @@ import eu.kanade.tachiyomi.lib.randomua.setRandomUserAgent import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.ConfigurableSource +import keiyoushi.utils.getPreferencesLazy import okhttp3.OkHttpClient -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale @@ -27,9 +25,7 @@ class Remangas : override val useLoadMoreRequest = LoadMoreStrategy.Always - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override val client: OkHttpClient = super.client.newBuilder() .setRandomUserAgent( diff --git a/src/pt/sssscanlator/build.gradle b/src/pt/sssscanlator/build.gradle index 91463633a..4d990d84e 100644 --- a/src/pt/sssscanlator/build.gradle +++ b/src/pt/sssscanlator/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.YomuComics' themePkg = 'mangathemesia' baseUrl = 'https://yomucomics.com' - overrideVersionCode = 5 + overrideVersionCode = 6 } apply from: "$rootDir/common.gradle" diff --git a/src/pt/sssscanlator/src/eu/kanade/tachiyomi/extension/pt/sssscanlator/YomuComics.kt b/src/pt/sssscanlator/src/eu/kanade/tachiyomi/extension/pt/sssscanlator/YomuComics.kt index 179312f0d..6ecc8460f 100644 --- a/src/pt/sssscanlator/src/eu/kanade/tachiyomi/extension/pt/sssscanlator/YomuComics.kt +++ b/src/pt/sssscanlator/src/eu/kanade/tachiyomi/extension/pt/sssscanlator/YomuComics.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.pt.sssscanlator -import android.app.Application import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen import eu.kanade.tachiyomi.lib.randomua.getPrefCustomUA @@ -11,10 +10,9 @@ import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.interceptor.rateLimit import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.Page +import keiyoushi.utils.getPreferences import okhttp3.OkHttpClient import okhttp3.Request -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit @@ -31,7 +29,7 @@ class YomuComics : // SSSScanlator override val id = 1497838059713668619 - private val preferences = Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() override val client: OkHttpClient = super.client.newBuilder() .setRandomUserAgent( diff --git a/src/pt/sussyscan/build.gradle b/src/pt/sussyscan/build.gradle index 37abef250..7100dbf8f 100644 --- a/src/pt/sussyscan/build.gradle +++ b/src/pt/sussyscan/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Sussy Toons' extClass = '.SussyToons' - extVersionCode = 50 + extVersionCode = 51 isNsfw = true } diff --git a/src/pt/sussyscan/src/eu/kanade/tachiyomi/extension/pt/sussyscan/SussyToons.kt b/src/pt/sussyscan/src/eu/kanade/tachiyomi/extension/pt/sussyscan/SussyToons.kt index 789c669e8..41cde72ff 100644 --- a/src/pt/sussyscan/src/eu/kanade/tachiyomi/extension/pt/sussyscan/SussyToons.kt +++ b/src/pt/sussyscan/src/eu/kanade/tachiyomi/extension/pt/sussyscan/SussyToons.kt @@ -1,7 +1,6 @@ package eu.kanade.tachiyomi.extension.pt.sussyscan import android.annotation.SuppressLint -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.EditTextPreference @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromStream @@ -26,8 +26,6 @@ import okhttp3.Response import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Locale @@ -49,8 +47,7 @@ class SussyToons : HttpSource(), ConfigurableSource { private val isCi = System.getenv("CI") == "true" - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() private var apiUrl: String get() = preferences.getString(API_BASE_URL_PREF, defaultApiUrl)!! diff --git a/src/pt/taiyo/build.gradle b/src/pt/taiyo/build.gradle index 7185c964b..c8415bb9a 100644 --- a/src/pt/taiyo/build.gradle +++ b/src/pt/taiyo/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Taiyō' extClass = '.Taiyo' - extVersionCode = 5 + extVersionCode = 6 isNsfw = true } diff --git a/src/pt/taiyo/src/eu/kanade/tachiyomi/extension/pt/taiyo/Taiyo.kt b/src/pt/taiyo/src/eu/kanade/tachiyomi/extension/pt/taiyo/Taiyo.kt index 211acbf09..c0aeeff9d 100644 --- a/src/pt/taiyo/src/eu/kanade/tachiyomi/extension/pt/taiyo/Taiyo.kt +++ b/src/pt/taiyo/src/eu/kanade/tachiyomi/extension/pt/taiyo/Taiyo.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.pt.taiyo -import android.app.Application import android.content.SharedPreferences import eu.kanade.tachiyomi.extension.pt.taiyo.dto.AdditionalInfoDto import eu.kanade.tachiyomi.extension.pt.taiyo.dto.ChapterListDto @@ -17,6 +16,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json @@ -38,8 +38,6 @@ import org.jsoup.nodes.Document import org.jsoup.nodes.Element import org.jsoup.select.Elements import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Locale @@ -55,8 +53,7 @@ class Taiyo : ParsedHttpSource() { // The source doesn't show the title on the home page override val supportsLatest = false - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() private var bearerToken: String = preferences.getString(BEARER_TOKEN_PREF, "").toString() diff --git a/src/ru/allhentai/build.gradle b/src/ru/allhentai/build.gradle index a07d528ab..7c4f62aab 100644 --- a/src/ru/allhentai/build.gradle +++ b/src/ru/allhentai/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.AllHentai' themePkg = 'grouple' baseUrl = 'https://20.allhen.online' - overrideVersionCode = 24 + overrideVersionCode = 25 isNsfw = true } diff --git a/src/ru/allhentai/src/eu/kanade/tachiyomi/extension/ru/allhentai/AllHentai.kt b/src/ru/allhentai/src/eu/kanade/tachiyomi/extension/ru/allhentai/AllHentai.kt index f9cacc84a..d068216b1 100644 --- a/src/ru/allhentai/src/eu/kanade/tachiyomi/extension/ru/allhentai/AllHentai.kt +++ b/src/ru/allhentai/src/eu/kanade/tachiyomi/extension/ru/allhentai/AllHentai.kt @@ -1,20 +1,18 @@ package eu.kanade.tachiyomi.extension.ru.allhentai -import android.app.Application import android.widget.Toast import androidx.preference.EditTextPreference import eu.kanade.tachiyomi.multisrc.grouple.GroupLe import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList +import keiyoushi.utils.getPreferences import okhttp3.Request -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class AllHentai : GroupLe("AllHentai", "https://20.allhen.online", "ru") { override val id = 1809051393403180443 - private val preferences = Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() override val baseUrl by lazy { getPrefBaseUrl() } diff --git a/src/ru/desu/build.gradle b/src/ru/desu/build.gradle index 904ccee78..c22b16bad 100644 --- a/src/ru/desu/build.gradle +++ b/src/ru/desu/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Desu' extClass = '.Desu' - extVersionCode = 26 + extVersionCode = 27 } apply from: "$rootDir/common.gradle" diff --git a/src/ru/desu/src/eu/kanade/tachiyomi/extension/ru/desu/Desu.kt b/src/ru/desu/src/eu/kanade/tachiyomi/extension/ru/desu/Desu.kt index f114efeca..7852c1482 100644 --- a/src/ru/desu/src/eu/kanade/tachiyomi/extension/ru/desu/Desu.kt +++ b/src/ru/desu/src/eu/kanade/tachiyomi/extension/ru/desu/Desu.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.ru.desu -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.EditTextPreference @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferences import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import kotlinx.serialization.json.contentOrNull @@ -32,8 +32,6 @@ import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy class Desu : ConfigurableSource, HttpSource() { @@ -41,8 +39,7 @@ class Desu : ConfigurableSource, HttpSource() { override val id: Long = 6684416167758830305 - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() init { preferences.getString(DEFAULT_DOMAIN_PREF, null).let { prefDefaultDomain -> diff --git a/src/ru/henchan/build.gradle b/src/ru/henchan/build.gradle index a12d77b87..1e5e80a6a 100644 --- a/src/ru/henchan/build.gradle +++ b/src/ru/henchan/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.HenChan' themePkg = 'multichan' baseUrl = 'https://xxxxx.hentaichan.live' - overrideVersionCode = 38 + overrideVersionCode = 39 isNsfw = true } diff --git a/src/ru/henchan/src/eu/kanade/tachiyomi/extension/ru/henchan/HenChan.kt b/src/ru/henchan/src/eu/kanade/tachiyomi/extension/ru/henchan/HenChan.kt index 8c5b6693b..dc6796ee9 100644 --- a/src/ru/henchan/src/eu/kanade/tachiyomi/extension/ru/henchan/HenChan.kt +++ b/src/ru/henchan/src/eu/kanade/tachiyomi/extension/ru/henchan/HenChan.kt @@ -1,7 +1,6 @@ package eu.kanade.tachiyomi.extension.ru.henchan import android.annotation.SuppressLint -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.EditTextPreference @@ -15,14 +14,13 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import okhttp3.Headers import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.net.URL import java.text.SimpleDateFormat import java.util.Date @@ -32,9 +30,7 @@ class HenChan : MultiChan("HenChan", "https://xxxxx.hentaichan.live", "ru"), Con override val id = 5504588601186153612 - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private val domain = preferences.getString(DOMAIN_TITLE, DOMAIN_DEFAULT)!! diff --git a/src/ru/hentailib/build.gradle b/src/ru/hentailib/build.gradle index d6b90d65e..f97a4419e 100644 --- a/src/ru/hentailib/build.gradle +++ b/src/ru/hentailib/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.HentaiLib' themePkg = 'libgroup' baseUrl = 'https://hentailib.me' - overrideVersionCode = 19 + overrideVersionCode = 20 isNsfw = true } diff --git a/src/ru/hentailib/src/eu/kanade/tachiyomi/extension/ru/hentailib/HentaiLib.kt b/src/ru/hentailib/src/eu/kanade/tachiyomi/extension/ru/hentailib/HentaiLib.kt index b16b01055..90cf2a60b 100644 --- a/src/ru/hentailib/src/eu/kanade/tachiyomi/extension/ru/hentailib/HentaiLib.kt +++ b/src/ru/hentailib/src/eu/kanade/tachiyomi/extension/ru/hentailib/HentaiLib.kt @@ -1,19 +1,15 @@ package eu.kanade.tachiyomi.extension.ru.hentailib -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.EditTextPreference import eu.kanade.tachiyomi.multisrc.libgroup.LibGroup import eu.kanade.tachiyomi.source.model.FilterList -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferencesLazy class HentaiLib : LibGroup("HentaiLib", "https://hentailib.me", "ru") { - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private var domain: String = preferences.getString(DOMAIN_TITLE, DOMAIN_DEFAULT)!! override val baseUrl: String = domain diff --git a/src/ru/mangalib/build.gradle b/src/ru/mangalib/build.gradle index 9b281d731..307381c48 100644 --- a/src/ru/mangalib/build.gradle +++ b/src/ru/mangalib/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.MangaLib' themePkg = 'libgroup' baseUrl = 'https://mangalib.me' - overrideVersionCode = 74 + overrideVersionCode = 75 } apply from: "$rootDir/common.gradle" diff --git a/src/ru/mangalib/src/eu/kanade/tachiyomi/extension/ru/mangalib/MangaLib.kt b/src/ru/mangalib/src/eu/kanade/tachiyomi/extension/ru/mangalib/MangaLib.kt index 5d88c35f6..946890260 100644 --- a/src/ru/mangalib/src/eu/kanade/tachiyomi/extension/ru/mangalib/MangaLib.kt +++ b/src/ru/mangalib/src/eu/kanade/tachiyomi/extension/ru/mangalib/MangaLib.kt @@ -1,18 +1,14 @@ package eu.kanade.tachiyomi.extension.ru.mangalib -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.EditTextPreference import eu.kanade.tachiyomi.multisrc.libgroup.LibGroup -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferencesLazy class MangaLib : LibGroup("MangaLib", "https://mangalib.me", "ru") { - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private var domain: String = preferences.getString(DOMAIN_PREF, DOMAIN_DEFAULT)!! override val baseUrl: String = domain diff --git a/src/ru/mintmanga/build.gradle b/src/ru/mintmanga/build.gradle index 7a3e1d612..af2dc416d 100644 --- a/src/ru/mintmanga/build.gradle +++ b/src/ru/mintmanga/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.MintManga' themePkg = 'grouple' baseUrl = 'https://2.mintmanga.one' - overrideVersionCode = 46 + overrideVersionCode = 47 isNsfw = true } diff --git a/src/ru/mintmanga/src/eu/kanade/tachiyomi/extension/ru/mintmanga/MintManga.kt b/src/ru/mintmanga/src/eu/kanade/tachiyomi/extension/ru/mintmanga/MintManga.kt index f0614fc03..9a28efbd9 100644 --- a/src/ru/mintmanga/src/eu/kanade/tachiyomi/extension/ru/mintmanga/MintManga.kt +++ b/src/ru/mintmanga/src/eu/kanade/tachiyomi/extension/ru/mintmanga/MintManga.kt @@ -1,22 +1,19 @@ package eu.kanade.tachiyomi.extension.ru.mintmanga -import android.app.Application import android.widget.Toast import androidx.preference.EditTextPreference import eu.kanade.tachiyomi.multisrc.grouple.GroupLe import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList +import keiyoushi.utils.getPreferences import okhttp3.Request -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class MintManga : GroupLe("MintManga", "https://2.mintmanga.one", "ru") { override val id: Long = 6 - private val preferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() override val baseUrl by lazy { getPrefBaseUrl() } diff --git a/src/ru/nudemoon/build.gradle b/src/ru/nudemoon/build.gradle index c9f5c84ba..e47f5a100 100644 --- a/src/ru/nudemoon/build.gradle +++ b/src/ru/nudemoon/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Nude-Moon' extClass = '.Nudemoon' - extVersionCode = 21 + extVersionCode = 22 isNsfw = true } diff --git a/src/ru/nudemoon/src/eu/kanade/tachiyomi/extension/ru/nudemoon/Nudemoon.kt b/src/ru/nudemoon/src/eu/kanade/tachiyomi/extension/ru/nudemoon/Nudemoon.kt index 6225aa587..3488daf85 100644 --- a/src/ru/nudemoon/src/eu/kanade/tachiyomi/extension/ru/nudemoon/Nudemoon.kt +++ b/src/ru/nudemoon/src/eu/kanade/tachiyomi/extension/ru/nudemoon/Nudemoon.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.ru.nudemoon -import android.app.Application import android.content.SharedPreferences import android.webkit.CookieManager import android.widget.Toast @@ -15,13 +14,12 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import okhttp3.Headers import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.net.URLEncoder import java.text.SimpleDateFormat import java.util.Locale @@ -36,8 +34,7 @@ class Nudemoon : ParsedHttpSource(), ConfigurableSource { override val supportsLatest = true - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() override val baseUrl by lazy { getPrefBaseUrl() } diff --git a/src/ru/readmanga/build.gradle b/src/ru/readmanga/build.gradle index f1e8cbca6..3601a37cd 100644 --- a/src/ru/readmanga/build.gradle +++ b/src/ru/readmanga/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.ReadManga' themePkg = 'grouple' baseUrl = 'https://zz.readmanga.io' - overrideVersionCode = 46 + overrideVersionCode = 47 } apply from: "$rootDir/common.gradle" diff --git a/src/ru/readmanga/src/eu/kanade/tachiyomi/extension/ru/readmanga/ReadManga.kt b/src/ru/readmanga/src/eu/kanade/tachiyomi/extension/ru/readmanga/ReadManga.kt index 36f9ec791..058b9c41a 100644 --- a/src/ru/readmanga/src/eu/kanade/tachiyomi/extension/ru/readmanga/ReadManga.kt +++ b/src/ru/readmanga/src/eu/kanade/tachiyomi/extension/ru/readmanga/ReadManga.kt @@ -1,22 +1,19 @@ package eu.kanade.tachiyomi.extension.ru.readmanga -import android.app.Application import android.widget.Toast import androidx.preference.EditTextPreference import eu.kanade.tachiyomi.multisrc.grouple.GroupLe import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList +import keiyoushi.utils.getPreferences import okhttp3.Request -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class ReadManga : GroupLe("ReadManga", "https://zz.readmanga.io", "ru") { override val id: Long = 5 - private val preferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() override val baseUrl by lazy { getPrefBaseUrl() } diff --git a/src/ru/rumix/build.gradle b/src/ru/rumix/build.gradle index 7073dadb3..a0535677b 100644 --- a/src/ru/rumix/build.gradle +++ b/src/ru/rumix/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.RuMIX' themePkg = 'grouple' baseUrl = 'https://rumix.me' - overrideVersionCode = 1 + overrideVersionCode = 2 } apply from: "$rootDir/common.gradle" diff --git a/src/ru/rumix/src/eu/kanade/tachiyomi/extension/ru/rumix/RuMIX.kt b/src/ru/rumix/src/eu/kanade/tachiyomi/extension/ru/rumix/RuMIX.kt index 4be9606a1..d176a46c0 100644 --- a/src/ru/rumix/src/eu/kanade/tachiyomi/extension/ru/rumix/RuMIX.kt +++ b/src/ru/rumix/src/eu/kanade/tachiyomi/extension/ru/rumix/RuMIX.kt @@ -1,20 +1,17 @@ package eu.kanade.tachiyomi.extension.ru.rumix -import android.app.Application import android.widget.Toast import androidx.preference.EditTextPreference import eu.kanade.tachiyomi.multisrc.grouple.GroupLe import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList +import keiyoushi.utils.getPreferences import okhttp3.Request -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class RuMIX : GroupLe("RuMIX", "https://rumix.me", "ru") { - private val preferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() override val baseUrl by lazy { getPrefBaseUrl() } diff --git a/src/ru/seimanga/build.gradle b/src/ru/seimanga/build.gradle index 86b919ad5..707746dc6 100644 --- a/src/ru/seimanga/build.gradle +++ b/src/ru/seimanga/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.SeiManga' themePkg = 'grouple' baseUrl = 'https://1.seimanga.me' - overrideVersionCode = 0 + overrideVersionCode = 1 isNsfw = true } diff --git a/src/ru/seimanga/src/eu/kanade/tachiyomi/extension/ru/seimanga/SeiManga.kt b/src/ru/seimanga/src/eu/kanade/tachiyomi/extension/ru/seimanga/SeiManga.kt index 97d1b76c1..973e0f059 100644 --- a/src/ru/seimanga/src/eu/kanade/tachiyomi/extension/ru/seimanga/SeiManga.kt +++ b/src/ru/seimanga/src/eu/kanade/tachiyomi/extension/ru/seimanga/SeiManga.kt @@ -1,20 +1,17 @@ package eu.kanade.tachiyomi.extension.ru.seimanga -import android.app.Application import android.widget.Toast import androidx.preference.EditTextPreference import eu.kanade.tachiyomi.multisrc.grouple.GroupLe import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList +import keiyoushi.utils.getPreferences import okhttp3.Request -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class SeiManga : GroupLe("SeiManga", "https://1.seimanga.me", "ru") { - private val preferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() override val baseUrl by lazy { getPrefBaseUrl() } diff --git a/src/ru/selfmanga/build.gradle b/src/ru/selfmanga/build.gradle index 92fb90916..e9f3e5f67 100644 --- a/src/ru/selfmanga/build.gradle +++ b/src/ru/selfmanga/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.SelfManga' themePkg = 'grouple' baseUrl = 'https://selfmanga.live' - overrideVersionCode = 22 + overrideVersionCode = 23 } apply from: "$rootDir/common.gradle" diff --git a/src/ru/selfmanga/src/eu/kanade/tachiyomi/extension/ru/selfmanga/SelfManga.kt b/src/ru/selfmanga/src/eu/kanade/tachiyomi/extension/ru/selfmanga/SelfManga.kt index 29c43f2da..24d39972e 100644 --- a/src/ru/selfmanga/src/eu/kanade/tachiyomi/extension/ru/selfmanga/SelfManga.kt +++ b/src/ru/selfmanga/src/eu/kanade/tachiyomi/extension/ru/selfmanga/SelfManga.kt @@ -1,22 +1,19 @@ package eu.kanade.tachiyomi.extension.ru.selfmanga -import android.app.Application import android.widget.Toast import androidx.preference.EditTextPreference import eu.kanade.tachiyomi.multisrc.grouple.GroupLe import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList +import keiyoushi.utils.getPreferences import okhttp3.Request -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class SelfManga : GroupLe("SelfManga", "https://selfmanga.live", "ru") { override val id: Long = 5227602742162454547 - private val preferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() override val baseUrl by lazy { getPrefBaseUrl() } diff --git a/src/ru/senkognito/build.gradle b/src/ru/senkognito/build.gradle index c32fd66f3..4af79ba99 100644 --- a/src/ru/senkognito/build.gradle +++ b/src/ru/senkognito/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.Senkognito' themePkg = 'senkuro' baseUrl = 'https://senkognito.com' - overrideVersionCode = 0 + overrideVersionCode = 1 isNsfw = true } diff --git a/src/ru/senkognito/src/eu/kanade/tachiyomi/extension/ru/senkognito/Senkognito.kt b/src/ru/senkognito/src/eu/kanade/tachiyomi/extension/ru/senkognito/Senkognito.kt index dbc27203a..8b0f13953 100644 --- a/src/ru/senkognito/src/eu/kanade/tachiyomi/extension/ru/senkognito/Senkognito.kt +++ b/src/ru/senkognito/src/eu/kanade/tachiyomi/extension/ru/senkognito/Senkognito.kt @@ -1,17 +1,13 @@ package eu.kanade.tachiyomi.extension.ru.senkognito -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import eu.kanade.tachiyomi.multisrc.senkuro.Senkuro -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferencesLazy class Senkognito : Senkuro("Senkognito", "https://senkognito.com", "ru") { - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private var domain: String? = if (preferences.getBoolean(redirect_PREF, true)) "https://senkognito.com" else "https://senkuro.com" override val baseUrl: String = domain.toString() diff --git a/src/ru/usagi/build.gradle b/src/ru/usagi/build.gradle index c376874ed..b253d103c 100644 --- a/src/ru/usagi/build.gradle +++ b/src/ru/usagi/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.Usagi' themePkg = 'grouple' baseUrl = 'https://web.usagi.one' - overrideVersionCode = 0 + overrideVersionCode = 1 isNsfw = true } diff --git a/src/ru/usagi/src/eu/kanade/tachiyomi/extension/ru/usagi/Usagi.kt b/src/ru/usagi/src/eu/kanade/tachiyomi/extension/ru/usagi/Usagi.kt index 0d44f8666..a23de2e6b 100644 --- a/src/ru/usagi/src/eu/kanade/tachiyomi/extension/ru/usagi/Usagi.kt +++ b/src/ru/usagi/src/eu/kanade/tachiyomi/extension/ru/usagi/Usagi.kt @@ -1,20 +1,17 @@ package eu.kanade.tachiyomi.extension.ru.usagi -import android.app.Application import android.widget.Toast import androidx.preference.EditTextPreference import eu.kanade.tachiyomi.multisrc.grouple.GroupLe import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.model.Filter import eu.kanade.tachiyomi.source.model.FilterList +import keiyoushi.utils.getPreferences import okhttp3.Request -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class Usagi : GroupLe("Usagi", "https://web.usagi.one/", "ru") { - private val preferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() override val baseUrl by lazy { getPrefBaseUrl() } diff --git a/src/ru/yaoilib/build.gradle b/src/ru/yaoilib/build.gradle index ee4efd366..eccfee55c 100644 --- a/src/ru/yaoilib/build.gradle +++ b/src/ru/yaoilib/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.YaoiLib' themePkg = 'libgroup' baseUrl = 'https://slashlib.me' - overrideVersionCode = 4 + overrideVersionCode = 5 isNsfw = true } diff --git a/src/ru/yaoilib/src/eu/kanade/tachiyomi/extension/ru/yaoilib/YaoiLib.kt b/src/ru/yaoilib/src/eu/kanade/tachiyomi/extension/ru/yaoilib/YaoiLib.kt index 97e43a929..97bafe159 100644 --- a/src/ru/yaoilib/src/eu/kanade/tachiyomi/extension/ru/yaoilib/YaoiLib.kt +++ b/src/ru/yaoilib/src/eu/kanade/tachiyomi/extension/ru/yaoilib/YaoiLib.kt @@ -1,18 +1,14 @@ package eu.kanade.tachiyomi.extension.ru.yaoilib -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.EditTextPreference import eu.kanade.tachiyomi.multisrc.libgroup.LibGroup -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferencesLazy class YaoiLib : LibGroup("YaoiLib", "https://slashlib.me", "ru") { - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private var domain: String = preferences.getString(DOMAIN_TITLE, DOMAIN_DEFAULT)!! override val baseUrl: String = domain diff --git a/src/vi/goctruyentranh/build.gradle b/src/vi/goctruyentranh/build.gradle index 464d32558..afd39dd3f 100644 --- a/src/vi/goctruyentranh/build.gradle +++ b/src/vi/goctruyentranh/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Goc Truyen Tranh' extClass = '.GocTruyenTranh' - extVersionCode = 2 + extVersionCode = 3 isNsfw = true } diff --git a/src/vi/goctruyentranh/src/eu/kanade/tachiyomi/extension/vi/goctruyentranh/GocTruyenTranh.kt b/src/vi/goctruyentranh/src/eu/kanade/tachiyomi/extension/vi/goctruyentranh/GocTruyenTranh.kt index 3705568af..4549ef03a 100644 --- a/src/vi/goctruyentranh/src/eu/kanade/tachiyomi/extension/vi/goctruyentranh/GocTruyenTranh.kt +++ b/src/vi/goctruyentranh/src/eu/kanade/tachiyomi/extension/vi/goctruyentranh/GocTruyenTranh.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.vi.goctruyentranh -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.PreferenceScreen @@ -14,6 +13,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferences import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.Headers @@ -23,8 +23,6 @@ import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Calendar @@ -311,8 +309,7 @@ class GocTruyenTranh : ParsedHttpSource(), ConfigurableSource { Genre("Magic", "70"), ) - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() init { preferences.getString(DEFAULT_BASE_URL_PREF, null).let { prefDefaultBaseUrl -> diff --git a/src/vi/hentaivnplus/build.gradle b/src/vi/hentaivnplus/build.gradle index 3b263518d..75c88b8a0 100644 --- a/src/vi/hentaivnplus/build.gradle +++ b/src/vi/hentaivnplus/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.HentaiVNPlus' themePkg = 'madara' baseUrl = 'https://hentaivn.tech' - overrideVersionCode = 7 + overrideVersionCode = 8 isNsfw = true } diff --git a/src/vi/hentaivnplus/src/eu/kanade/tachiyomi/extension/vi/hentaivnplus/HentaiVNPlus.kt b/src/vi/hentaivnplus/src/eu/kanade/tachiyomi/extension/vi/hentaivnplus/HentaiVNPlus.kt index 5b34412e1..3039e7886 100644 --- a/src/vi/hentaivnplus/src/eu/kanade/tachiyomi/extension/vi/hentaivnplus/HentaiVNPlus.kt +++ b/src/vi/hentaivnplus/src/eu/kanade/tachiyomi/extension/vi/hentaivnplus/HentaiVNPlus.kt @@ -1,13 +1,11 @@ package eu.kanade.tachiyomi.extension.vi.hentaivnplus -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.source.ConfigurableSource -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferences import java.text.SimpleDateFormat import java.util.Locale @@ -24,8 +22,7 @@ class HentaiVNPlus : override val mangaSubString = "truyen-hentai" - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() init { preferences.getString(DEFAULT_BASE_URL_PREF, null).let { prefDefaultBaseUrl -> diff --git a/src/vi/lxhentai/build.gradle b/src/vi/lxhentai/build.gradle index 975230036..34578931d 100644 --- a/src/vi/lxhentai/build.gradle +++ b/src/vi/lxhentai/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'LXHentai' extClass = '.LxHentai' - extVersionCode = 15 + extVersionCode = 16 isNsfw = true } diff --git a/src/vi/lxhentai/src/eu/kanade/tachiyomi/extension/vi/lxhentai/LxHentai.kt b/src/vi/lxhentai/src/eu/kanade/tachiyomi/extension/vi/lxhentai/LxHentai.kt index 882693d0f..e255083b4 100644 --- a/src/vi/lxhentai/src/eu/kanade/tachiyomi/extension/vi/lxhentai/LxHentai.kt +++ b/src/vi/lxhentai/src/eu/kanade/tachiyomi/extension/vi/lxhentai/LxHentai.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.vi.lxhentai -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.PreferenceScreen @@ -13,6 +12,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferences import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient @@ -20,8 +20,6 @@ import okhttp3.Request import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale @@ -279,8 +277,7 @@ class LxHentai : ParsedHttpSource(), ConfigurableSource { Genre("LXHENTAI", 66), ) - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() init { preferences.getString(DEFAULT_BASE_URL_PREF, null).let { prefDefaultBaseUrl -> diff --git a/src/vi/sayhentai/build.gradle b/src/vi/sayhentai/build.gradle index df3da260d..5846aa394 100644 --- a/src/vi/sayhentai/build.gradle +++ b/src/vi/sayhentai/build.gradle @@ -3,7 +3,7 @@ ext { extClass = ".SayHentai" themePkg = "manhwaz" baseUrl = "https://sayhentai.art" - overrideVersionCode = 9 + overrideVersionCode = 10 isNsfw = true } diff --git a/src/vi/sayhentai/src/eu/kanade/tachiyomi/extension/vi/sayhentai/SayHentai.kt b/src/vi/sayhentai/src/eu/kanade/tachiyomi/extension/vi/sayhentai/SayHentai.kt index 2c3420d43..4f216c639 100644 --- a/src/vi/sayhentai/src/eu/kanade/tachiyomi/extension/vi/sayhentai/SayHentai.kt +++ b/src/vi/sayhentai/src/eu/kanade/tachiyomi/extension/vi/sayhentai/SayHentai.kt @@ -1,13 +1,11 @@ package eu.kanade.tachiyomi.extension.vi.sayhentai -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.multisrc.manhwaz.ManhwaZ import eu.kanade.tachiyomi.source.ConfigurableSource -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferences class SayHentai : ManhwaZ( @@ -20,8 +18,7 @@ class SayHentai : ConfigurableSource { override fun popularMangaSelector() = "#slide-top > .item:contains(a)" - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() init { preferences.getString(DEFAULT_BASE_URL_PREF, null).let { prefDefaultBaseUrl -> diff --git a/src/vi/truyengg/build.gradle b/src/vi/truyengg/build.gradle index 3599d06c0..02eabc1d0 100644 --- a/src/vi/truyengg/build.gradle +++ b/src/vi/truyengg/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'TruyenGG' extClass = '.TruyenGG' - extVersionCode = 4 + extVersionCode = 5 } apply from: "$rootDir/common.gradle" diff --git a/src/vi/truyengg/src/eu/kanade/tachiyomi/extension/vi/truyengg/TruyenGG.kt b/src/vi/truyengg/src/eu/kanade/tachiyomi/extension/vi/truyengg/TruyenGG.kt index dfa36fb0b..957dc3074 100644 --- a/src/vi/truyengg/src/eu/kanade/tachiyomi/extension/vi/truyengg/TruyenGG.kt +++ b/src/vi/truyengg/src/eu/kanade/tachiyomi/extension/vi/truyengg/TruyenGG.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.vi.truyengg -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.EditTextPreference @@ -14,6 +13,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferences import okhttp3.Headers import okhttp3.HttpUrl import okhttp3.HttpUrl.Companion.toHttpUrl @@ -21,8 +21,6 @@ import okhttp3.OkHttpClient import okhttp3.Request import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit @@ -37,8 +35,7 @@ class TruyenGG : ParsedHttpSource(), ConfigurableSource { override val supportsLatest = true - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() override val baseUrl by lazy { getPrefBaseUrl() } diff --git a/src/vi/truyenvn/build.gradle b/src/vi/truyenvn/build.gradle index 5fbe1455a..ca3dfc83c 100644 --- a/src/vi/truyenvn/build.gradle +++ b/src/vi/truyenvn/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.TruyenVN' themePkg = 'madara' baseUrl = 'https://truyenvn.tech' - overrideVersionCode = 12 + overrideVersionCode = 13 isNsfw = true } diff --git a/src/vi/truyenvn/src/eu/kanade/tachiyomi/extension/vi/truyenvn/TruyenVN.kt b/src/vi/truyenvn/src/eu/kanade/tachiyomi/extension/vi/truyenvn/TruyenVN.kt index da74e1d15..aab5664fb 100644 --- a/src/vi/truyenvn/src/eu/kanade/tachiyomi/extension/vi/truyenvn/TruyenVN.kt +++ b/src/vi/truyenvn/src/eu/kanade/tachiyomi/extension/vi/truyenvn/TruyenVN.kt @@ -1,13 +1,11 @@ package eu.kanade.tachiyomi.extension.vi.truyenvn -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.source.ConfigurableSource -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get +import keiyoushi.utils.getPreferences import java.text.SimpleDateFormat import java.util.Locale @@ -24,8 +22,7 @@ class TruyenVN : override val mangaSubString = "truyen-tranh" - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() init { preferences.getString(DEFAULT_BASE_URL_PREF, null).let { prefDefaultBaseUrl -> diff --git a/src/vi/ungtycomics/build.gradle b/src/vi/ungtycomics/build.gradle index 52af10d74..946c7b56a 100644 --- a/src/vi/ungtycomics/build.gradle +++ b/src/vi/ungtycomics/build.gradle @@ -1,7 +1,7 @@ ext { extName = "Ung Ty Comics" extClass = ".UngTyComics" - extVersionCode = 2 + extVersionCode = 3 isNsfw = true } diff --git a/src/vi/ungtycomics/src/eu/kanade/tachiyomi/extension/vi/ungtycomics/UngTyComics.kt b/src/vi/ungtycomics/src/eu/kanade/tachiyomi/extension/vi/ungtycomics/UngTyComics.kt index ccdebde70..eec0d5ff0 100644 --- a/src/vi/ungtycomics/src/eu/kanade/tachiyomi/extension/vi/ungtycomics/UngTyComics.kt +++ b/src/vi/ungtycomics/src/eu/kanade/tachiyomi/extension/vi/ungtycomics/UngTyComics.kt @@ -1,7 +1,6 @@ package eu.kanade.tachiyomi.extension.vi.ungtycomics import android.annotation.SuppressLint -import android.app.Application import android.widget.Toast import androidx.preference.ListPreference import androidx.preference.PreferenceScreen @@ -15,14 +14,13 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.security.SecureRandom import java.security.cert.X509Certificate import java.text.SimpleDateFormat @@ -46,9 +44,7 @@ class UngTyComics : ParsedHttpSource(), ConfigurableSource { override val supportsLatest = true - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences by getPreferencesLazy() override val client = network.cloudflareClient.newBuilder() .rateLimitHost(baseUrl.toHttpUrl(), 2) diff --git a/src/vi/vlogtruyen/build.gradle b/src/vi/vlogtruyen/build.gradle index 752abafc6..d97021462 100644 --- a/src/vi/vlogtruyen/build.gradle +++ b/src/vi/vlogtruyen/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'ThichDoc' extClass = '.VlogTruyen' - extVersionCode = 6 + extVersionCode = 7 isNsfw = true } diff --git a/src/vi/vlogtruyen/src/eu/kanade/tachiyomi/extension/vi/vlogtruyen/VlogTruyen.kt b/src/vi/vlogtruyen/src/eu/kanade/tachiyomi/extension/vi/vlogtruyen/VlogTruyen.kt index ac7292b3e..c67878622 100644 --- a/src/vi/vlogtruyen/src/eu/kanade/tachiyomi/extension/vi/vlogtruyen/VlogTruyen.kt +++ b/src/vi/vlogtruyen/src/eu/kanade/tachiyomi/extension/vi/vlogtruyen/VlogTruyen.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.vi.vlogtruyen -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.EditTextPreference @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.Headers @@ -27,8 +27,6 @@ import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.text.SimpleDateFormat import java.util.Locale @@ -171,8 +169,7 @@ class VlogTruyen : ParsedHttpSource(), ConfigurableSource { override fun imageUrlParse(document: Document): String = "" - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() init { preferences.getString(DEFAULT_BASE_URL_PREF, null).let { prefDefaultBaseUrl -> diff --git a/src/vi/xxmanhwa/build.gradle b/src/vi/xxmanhwa/build.gradle index 82325297b..a4802fcdd 100644 --- a/src/vi/xxmanhwa/build.gradle +++ b/src/vi/xxmanhwa/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'XXManhwa' extClass = '.XxManhwa' - extVersionCode = 6 + extVersionCode = 7 isNsfw = true } diff --git a/src/vi/xxmanhwa/src/eu/kanade/tachiyomi/extension/vi/xxmanhwa/XxManhwa.kt b/src/vi/xxmanhwa/src/eu/kanade/tachiyomi/extension/vi/xxmanhwa/XxManhwa.kt index 55c407f5a..aa68ba831 100644 --- a/src/vi/xxmanhwa/src/eu/kanade/tachiyomi/extension/vi/xxmanhwa/XxManhwa.kt +++ b/src/vi/xxmanhwa/src/eu/kanade/tachiyomi/extension/vi/xxmanhwa/XxManhwa.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.vi.xxmanhwa -import android.app.Application import android.widget.Toast import androidx.preference.EditTextPreference import androidx.preference.PreferenceScreen @@ -14,6 +13,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.FormBody @@ -22,8 +22,6 @@ import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import kotlin.random.Random @@ -44,9 +42,7 @@ class XxManhwa : ParsedHttpSource(), ConfigurableSource { private val json: Json by injectLazy() - private val preferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences by getPreferencesLazy() override fun popularMangaRequest(page: Int) = GET("$baseUrl/tat-ca-cac-truyen?page_num=$page", headers) diff --git a/src/vi/yurineko/build.gradle b/src/vi/yurineko/build.gradle index 18ae13c72..cf9edfe6d 100644 --- a/src/vi/yurineko/build.gradle +++ b/src/vi/yurineko/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'YuriNeko' extClass = '.YuriNeko' - extVersionCode = 7 + extVersionCode = 8 isNsfw = true } diff --git a/src/vi/yurineko/src/eu/kanade/tachiyomi/extension/vi/yurineko/YuriNeko.kt b/src/vi/yurineko/src/eu/kanade/tachiyomi/extension/vi/yurineko/YuriNeko.kt index 34bdb6422..d3a4ce756 100644 --- a/src/vi/yurineko/src/eu/kanade/tachiyomi/extension/vi/yurineko/YuriNeko.kt +++ b/src/vi/yurineko/src/eu/kanade/tachiyomi/extension/vi/yurineko/YuriNeko.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.vi.yurineko -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import androidx.preference.EditTextPreference @@ -21,6 +20,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferences import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.CacheControl @@ -30,8 +30,6 @@ import okhttp3.Interceptor import okhttp3.Request import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.io.IOException import java.net.URLDecoder import java.util.concurrent.TimeUnit @@ -408,8 +406,7 @@ class YuriNeko : HttpSource(), ConfigurableSource { private inline fun Response.parseAs(): T = use { json.decodeFromString(body.string()) } - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() init { preferences.getString(DEFAULT_DOMAIN_PREF, null).let { prefDefaultDomain -> diff --git a/src/zh/baimangu/build.gradle b/src/zh/baimangu/build.gradle index 9a734a1be..97b09cf69 100644 --- a/src/zh/baimangu/build.gradle +++ b/src/zh/baimangu/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Baimangu (Darpou)' extClass = '.Baimangu' - extVersionCode = 4 + extVersionCode = 5 } apply from: "$rootDir/common.gradle" diff --git a/src/zh/baimangu/src/eu/kanade/tachiyomi/extension/zh/baimangu/Baimangu.kt b/src/zh/baimangu/src/eu/kanade/tachiyomi/extension/zh/baimangu/Baimangu.kt index c34b02b07..63cdbe283 100644 --- a/src/zh/baimangu/src/eu/kanade/tachiyomi/extension/zh/baimangu/Baimangu.kt +++ b/src/zh/baimangu/src/eu/kanade/tachiyomi/extension/zh/baimangu/Baimangu.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.baimangu -import android.app.Application import android.content.SharedPreferences import android.widget.Toast import eu.kanade.tachiyomi.network.GET @@ -12,6 +11,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferencesLazy import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient @@ -19,8 +19,6 @@ import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.util.concurrent.TimeUnit class Baimangu : ConfigurableSource, ParsedHttpSource() { @@ -29,9 +27,7 @@ class Baimangu : ConfigurableSource, ParsedHttpSource() { override val name = "百漫谷" // Preference setting - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() override val baseUrl = preferences.getString(MAINSITE_URL_PREF, MAINSITE_URL_PREF_DEFAULT)!! diff --git a/src/zh/baozimanhua/build.gradle b/src/zh/baozimanhua/build.gradle index 36d970d72..014a9d616 100644 --- a/src/zh/baozimanhua/build.gradle +++ b/src/zh/baozimanhua/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Baozi Manhua' extClass = '.Baozi' - extVersionCode = 23 + extVersionCode = 24 } apply from: "$rootDir/common.gradle" diff --git a/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/Baozi.kt b/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/Baozi.kt index 97b530d4d..efe04da1a 100644 --- a/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/Baozi.kt +++ b/src/zh/baozimanhua/src/eu/kanade/tachiyomi/extension/zh/baozimanhua/Baozi.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.baozimanhua -import android.app.Application import android.content.SharedPreferences import androidx.preference.ListPreference import androidx.preference.PreferenceScreen @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request import okhttp3.Response @@ -23,8 +23,6 @@ import org.jsoup.nodes.Document import org.jsoup.nodes.Element import org.jsoup.select.Evaluator import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale @@ -34,8 +32,7 @@ class Baozi : ParsedHttpSource(), ConfigurableSource { override val name = "包子漫画" - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() private val domain: String = run { val mirrors = MIRRORS diff --git a/src/zh/baozimhorg/build.gradle b/src/zh/baozimhorg/build.gradle index 1d5abffee..24cb1b094 100644 --- a/src/zh/baozimhorg/build.gradle +++ b/src/zh/baozimhorg/build.gradle @@ -2,7 +2,7 @@ ext { extName = 'GoDa' extClass = '.GoDaManhua' themePkg = 'goda' - overrideVersionCode = 30 + overrideVersionCode = 31 } apply from: "$rootDir/common.gradle" diff --git a/src/zh/baozimhorg/src/eu/kanade/tachiyomi/extension/zh/baozimhorg/GoDaManhua.kt b/src/zh/baozimhorg/src/eu/kanade/tachiyomi/extension/zh/baozimhorg/GoDaManhua.kt index 07148f953..81e62d3ce 100644 --- a/src/zh/baozimhorg/src/eu/kanade/tachiyomi/extension/zh/baozimhorg/GoDaManhua.kt +++ b/src/zh/baozimhorg/src/eu/kanade/tachiyomi/extension/zh/baozimhorg/GoDaManhua.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.baozimhorg -import android.app.Application import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.multisrc.goda.GoDa @@ -8,6 +7,7 @@ import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter +import keiyoushi.utils.getPreferences import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.Interceptor @@ -28,7 +28,7 @@ class GoDaManhua : GoDa("GoDa漫画", "", "zh"), ConfigurableSource { if (System.getenv("CI") == "true") { baseUrl = mirrors.joinToString("#, ") { "https://$it" } } else { - val mirrorIndex = Injekt.get().getSharedPreferences("source_$id", 0x0000) + val mirrorIndex = getPreferences() .getString(MIRROR_PREF, "0")!!.toInt().coerceAtMost(mirrors.size - 1) baseUrl = "https://" + mirrors[mirrorIndex] } diff --git a/src/zh/bilibilimanga/build.gradle b/src/zh/bilibilimanga/build.gradle index 88c9628b1..96fe55c39 100644 --- a/src/zh/bilibilimanga/build.gradle +++ b/src/zh/bilibilimanga/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'BILIBILI MANGA' extClass = '.BilibiliManga' - extVersionCode = 12 + extVersionCode = 13 } apply from: "$rootDir/common.gradle" diff --git a/src/zh/bilibilimanga/src/eu/kanade/tachiyomi/extension/zh/bilibilimanga/Bilibili.kt b/src/zh/bilibilimanga/src/eu/kanade/tachiyomi/extension/zh/bilibilimanga/Bilibili.kt index 164840645..7a6e4b6f2 100644 --- a/src/zh/bilibilimanga/src/eu/kanade/tachiyomi/extension/zh/bilibilimanga/Bilibili.kt +++ b/src/zh/bilibilimanga/src/eu/kanade/tachiyomi/extension/zh/bilibilimanga/Bilibili.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.bilibilimanga -import android.app.Application import android.content.SharedPreferences import android.util.Base64 import androidx.preference.ListPreference @@ -14,6 +13,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferencesLazy import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json @@ -30,8 +30,6 @@ import okhttp3.RequestBody.Companion.toRequestBody import okhttp3.Response import okhttp3.ResponseBody.Companion.toResponseBody import org.jsoup.Jsoup -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.nio.ByteBuffer import java.nio.ByteOrder @@ -74,9 +72,7 @@ abstract class Bilibili( protected open val defaultLatestSort: Int = 1 - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() protected val json: Json by injectLazy() diff --git a/src/zh/boylove/build.gradle b/src/zh/boylove/build.gradle index a3b6b1c19..61cf7e462 100644 --- a/src/zh/boylove/build.gradle +++ b/src/zh/boylove/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'BoyLove' extClass = '.BoyLove' - extVersionCode = 12 + extVersionCode = 13 isNsfw = true } diff --git a/src/zh/boylove/src/eu/kanade/tachiyomi/extension/zh/boylove/BoyLove.kt b/src/zh/boylove/src/eu/kanade/tachiyomi/extension/zh/boylove/BoyLove.kt index ae2581b88..8e727af1b 100644 --- a/src/zh/boylove/src/eu/kanade/tachiyomi/extension/zh/boylove/BoyLove.kt +++ b/src/zh/boylove/src/eu/kanade/tachiyomi/extension/zh/boylove/BoyLove.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.boylove -import android.app.Application import android.util.Log import androidx.preference.ListPreference import androidx.preference.PreferenceScreen @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromStream import okhttp3.HttpUrl.Companion.toHttpUrl @@ -24,8 +24,6 @@ import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.select.Evaluator import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import kotlin.concurrent.thread @@ -39,8 +37,7 @@ class BoyLove : HttpSource(), ConfigurableSource { private val json: Json by injectLazy() override val baseUrl by lazy { - val preferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + val preferences = getPreferences() val mirrors = MIRRORS val index = preferences.getString(MIRROR_PREF, "0")!!.toInt().coerceIn(0, mirrors.size - 1) diff --git a/src/zh/cartoon18/build.gradle b/src/zh/cartoon18/build.gradle index 14e805a2a..0757438bc 100644 --- a/src/zh/cartoon18/build.gradle +++ b/src/zh/cartoon18/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Cartoon18' extClass = '.Cartoon18' - extVersionCode = 2 + extVersionCode = 3 isNsfw = true } diff --git a/src/zh/cartoon18/src/eu/kanade/tachiyomi/extension/zh/cartoon18/Cartoon18.kt b/src/zh/cartoon18/src/eu/kanade/tachiyomi/extension/zh/cartoon18/Cartoon18.kt index ad6124f1d..9df3ad108 100644 --- a/src/zh/cartoon18/src/eu/kanade/tachiyomi/extension/zh/cartoon18/Cartoon18.kt +++ b/src/zh/cartoon18/src/eu/kanade/tachiyomi/extension/zh/cartoon18/Cartoon18.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.cartoon18 -import android.app.Application import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat import eu.kanade.tachiyomi.network.GET @@ -13,6 +12,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -20,8 +20,6 @@ import okhttp3.HttpUrl import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request import okhttp3.Response -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.net.URLDecoder class Cartoon18 : HttpSource(), ConfigurableSource { @@ -202,8 +200,7 @@ class Cartoon18 : HttpSource(), ConfigurableSource { private fun launchIO(block: () -> Unit) = scope.launch { block() } - private val preferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000)!! + private val preferences = getPreferences() private val useTrad get() = preferences.getBoolean("ZH_HANT", false) diff --git a/src/zh/dm5/build.gradle b/src/zh/dm5/build.gradle index a100953c6..1e3f6ecbd 100644 --- a/src/zh/dm5/build.gradle +++ b/src/zh/dm5/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Dm5' extClass = '.Dm5' - extVersionCode = 2 + extVersionCode = 3 isNsfw = true } diff --git a/src/zh/dm5/src/eu/kanade/tachiyomi/extension/zh/dm5/Dm5.kt b/src/zh/dm5/src/eu/kanade/tachiyomi/extension/zh/dm5/Dm5.kt index fad5e77ca..8df782fd8 100644 --- a/src/zh/dm5/src/eu/kanade/tachiyomi/extension/zh/dm5/Dm5.kt +++ b/src/zh/dm5/src/eu/kanade/tachiyomi/extension/zh/dm5/Dm5.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.dm5 -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import androidx.preference.SwitchPreferenceCompat @@ -13,14 +12,13 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat import java.util.Locale @@ -33,8 +31,7 @@ class Dm5 : ParsedHttpSource(), ConfigurableSource { .addInterceptor(CommentsInterceptor) .build() - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() // Some mangas are blocked without this override fun headersBuilder() = super.headersBuilder().set("Accept-Language", "zh-TW") diff --git a/src/zh/dmzj/build.gradle b/src/zh/dmzj/build.gradle index 851edf0d6..cc5465585 100644 --- a/src/zh/dmzj/build.gradle +++ b/src/zh/dmzj/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'DMZJ' extClass = '.Dmzj' - extVersionCode = 42 + extVersionCode = 43 } apply from: "$rootDir/common.gradle" diff --git a/src/zh/dmzj/src/eu/kanade/tachiyomi/extension/zh/dmzj/Dmzj.kt b/src/zh/dmzj/src/eu/kanade/tachiyomi/extension/zh/dmzj/Dmzj.kt index 59a1b9f6c..bb0c26174 100644 --- a/src/zh/dmzj/src/eu/kanade/tachiyomi/extension/zh/dmzj/Dmzj.kt +++ b/src/zh/dmzj/src/eu/kanade/tachiyomi/extension/zh/dmzj/Dmzj.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.dmzj -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.network.GET @@ -12,12 +11,11 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferences import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get /** * Dmzj source @@ -29,8 +27,7 @@ class Dmzj : ConfigurableSource, HttpSource() { override val name = "动漫之家" override val baseUrl = "https://m.idmzj.com" - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() override val client: OkHttpClient = network.client.newBuilder() .addInterceptor(ImageUrlInterceptor) diff --git a/src/zh/happymh/build.gradle b/src/zh/happymh/build.gradle index caf18e277..c33b7e535 100644 --- a/src/zh/happymh/build.gradle +++ b/src/zh/happymh/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Happymh' extClass = '.Happymh' - extVersionCode = 16 + extVersionCode = 17 } apply from: "$rootDir/common.gradle" diff --git a/src/zh/happymh/src/eu/kanade/tachiyomi/extension/zh/happymh/Happymh.kt b/src/zh/happymh/src/eu/kanade/tachiyomi/extension/zh/happymh/Happymh.kt index b8ec58e56..d1c2041e5 100644 --- a/src/zh/happymh/src/eu/kanade/tachiyomi/extension/zh/happymh/Happymh.kt +++ b/src/zh/happymh/src/eu/kanade/tachiyomi/extension/zh/happymh/Happymh.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.happymh -import android.app.Application import android.widget.Toast import androidx.preference.EditTextPreference import androidx.preference.PreferenceScreen @@ -18,6 +17,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromStream import okhttp3.FormBody @@ -30,8 +30,6 @@ import okhttp3.Request import okhttp3.Response import okhttp3.ResponseBody.Companion.asResponseBody import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy const val PREF_KEY_CUSTOM_UA = "pref_key_custom_ua_" @@ -45,7 +43,7 @@ class Happymh : HttpSource(), ConfigurableSource { private val json: Json by injectLazy() private val chapterUrlToCode = hashMapOf() - private val preferences = Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences = getPreferences() init { val oldUa = preferences.getString("userAgent", null) diff --git a/src/zh/jinmantiantang/build.gradle b/src/zh/jinmantiantang/build.gradle index 858235821..fcaf09257 100644 --- a/src/zh/jinmantiantang/build.gradle +++ b/src/zh/jinmantiantang/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Jinman Tiantang' extClass = '.Jinmantiantang' - extVersionCode = 45 + extVersionCode = 46 isNsfw = true } diff --git a/src/zh/jinmantiantang/src/eu/kanade/tachiyomi/extension/zh/jinmantiantang/Jinmantiantang.kt b/src/zh/jinmantiantang/src/eu/kanade/tachiyomi/extension/zh/jinmantiantang/Jinmantiantang.kt index 6c79c0f91..09dd74fca 100644 --- a/src/zh/jinmantiantang/src/eu/kanade/tachiyomi/extension/zh/jinmantiantang/Jinmantiantang.kt +++ b/src/zh/jinmantiantang/src/eu/kanade/tachiyomi/extension/zh/jinmantiantang/Jinmantiantang.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.jinmantiantang -import android.content.SharedPreferences import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen import eu.kanade.tachiyomi.lib.randomua.getPrefCustomUA @@ -18,6 +17,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient import okhttp3.Request @@ -35,8 +35,7 @@ class Jinmantiantang : ParsedHttpSource(), ConfigurableSource { override val name: String = "禁漫天堂" override val supportsLatest: Boolean = true - private val preferences: SharedPreferences = - getSharedPreferences(id) + private val preferences = getPreferences { preferenceMigration() } override val baseUrl: String = "https://" + preferences.baseUrl diff --git a/src/zh/jinmantiantang/src/eu/kanade/tachiyomi/extension/zh/jinmantiantang/JinmantiantangPreferences.kt b/src/zh/jinmantiantang/src/eu/kanade/tachiyomi/extension/zh/jinmantiantang/JinmantiantangPreferences.kt index 45ccc3a73..f9a8e70c3 100644 --- a/src/zh/jinmantiantang/src/eu/kanade/tachiyomi/extension/zh/jinmantiantang/JinmantiantangPreferences.kt +++ b/src/zh/jinmantiantang/src/eu/kanade/tachiyomi/extension/zh/jinmantiantang/JinmantiantangPreferences.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.jinmantiantang -import android.app.Application import android.content.Context import android.content.SharedPreferences import androidx.preference.EditTextPreference @@ -8,8 +7,6 @@ import androidx.preference.ListPreference import eu.kanade.tachiyomi.network.GET import okhttp3.Interceptor import okhttp3.Response -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.io.IOException internal fun getPreferenceList(context: Context, preferences: SharedPreferences, isUrlUpdated: Boolean) = arrayOf( @@ -99,15 +96,14 @@ private const val URL_LIST_PREF = "baseUrlList" private val SharedPreferences.mirrorIndex get() = getString(USE_MIRROR_URL_PREF, "0")!!.toInt() private val SharedPreferences.urlList get() = getString(URL_LIST_PREF, DEFAULT_LIST)!!.split(",") -fun getSharedPreferences(id: Long): SharedPreferences { - val preferences: SharedPreferences = Injekt.get().getSharedPreferences("source_$id", 0x0000) - if (preferences.getString(DEFAULT_LIST_PREF, "")!! == DEFAULT_LIST) return preferences - preferences.edit() - .remove("overrideBaseUrl") - .putString(DEFAULT_LIST_PREF, DEFAULT_LIST) - .setUrlList(DEFAULT_LIST, preferences.mirrorIndex) - .apply() - return preferences +fun SharedPreferences.preferenceMigration() { + if (getString(DEFAULT_LIST_PREF, "")!! != DEFAULT_LIST) { + edit() + .remove("overrideBaseUrl") + .putString(DEFAULT_LIST_PREF, DEFAULT_LIST) + .setUrlList(DEFAULT_LIST, mirrorIndex) + .apply() + } } fun SharedPreferences.Editor.setUrlList(urlList: String, oldIndex: Int): SharedPreferences.Editor { diff --git a/src/zh/mangabz/build.gradle b/src/zh/mangabz/build.gradle index 85a0ce1a1..97fc0679c 100644 --- a/src/zh/mangabz/build.gradle +++ b/src/zh/mangabz/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Mangabz' extClass = '.Mangabz' - extVersionCode = 8 + extVersionCode = 9 } apply from: "$rootDir/common.gradle" diff --git a/src/zh/mangabz/src/eu/kanade/tachiyomi/extension/zh/mangabz/Mangabz.kt b/src/zh/mangabz/src/eu/kanade/tachiyomi/extension/zh/mangabz/Mangabz.kt index ec113a976..c2d8beb8f 100644 --- a/src/zh/mangabz/src/eu/kanade/tachiyomi/extension/zh/mangabz/Mangabz.kt +++ b/src/zh/mangabz/src/eu/kanade/tachiyomi/extension/zh/mangabz/Mangabz.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.mangabz -import android.app.Application import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.lib.cookieinterceptor.CookieInterceptor import eu.kanade.tachiyomi.lib.unpacker.SubstringExtractor @@ -14,6 +13,7 @@ import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga +import keiyoushi.utils.getPreferences import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.OkHttpClient @@ -23,8 +23,6 @@ import org.jsoup.nodes.Element import org.jsoup.select.Elements import org.jsoup.select.Evaluator import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class Mangabz : MangabzTheme("Mangabz"), ConfigurableSource { @@ -34,7 +32,7 @@ class Mangabz : MangabzTheme("Mangabz"), ConfigurableSource { private val urlSuffix: String init { - val preferences = Injekt.get().getSharedPreferences("source_$id", 0x0000) + val preferences = getPreferences() val mirror = preferences.mirror _baseUrl = "https://" + mirror.domain urlSuffix = mirror.urlSuffix diff --git a/src/zh/manhuagui/build.gradle b/src/zh/manhuagui/build.gradle index 4fa8e884c..8a802f1c9 100644 --- a/src/zh/manhuagui/build.gradle +++ b/src/zh/manhuagui/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'ManHuaGui' extClass = '.Manhuagui' - extVersionCode = 22 + extVersionCode = 23 } apply from: "$rootDir/common.gradle" diff --git a/src/zh/manhuagui/src/eu/kanade/tachiyomi/extension/zh/manhuagui/Manhuagui.kt b/src/zh/manhuagui/src/eu/kanade/tachiyomi/extension/zh/manhuagui/Manhuagui.kt index 0dfdf1aaf..2c7fb079c 100644 --- a/src/zh/manhuagui/src/eu/kanade/tachiyomi/extension/zh/manhuagui/Manhuagui.kt +++ b/src/zh/manhuagui/src/eu/kanade/tachiyomi/extension/zh/manhuagui/Manhuagui.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.manhuagui -import android.app.Application import android.content.SharedPreferences import eu.kanade.tachiyomi.lib.lzstring.LZString import eu.kanade.tachiyomi.lib.unpacker.Unpacker @@ -17,6 +16,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferencesLazy import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.delay @@ -37,8 +37,6 @@ import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.io.IOException import java.text.SimpleDateFormat @@ -49,9 +47,7 @@ class Manhuagui( override val lang: String = "zh", ) : ConfigurableSource, ParsedHttpSource() { - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } + private val preferences: SharedPreferences by getPreferencesLazy() private val baseHost = if (preferences.getBoolean(USE_MIRROR_URL_PREF, false)) { "mhgui.com" diff --git a/src/zh/manhuaren/build.gradle b/src/zh/manhuaren/build.gradle index 0c675383a..14b0514a6 100644 --- a/src/zh/manhuaren/build.gradle +++ b/src/zh/manhuaren/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Manhuaren' extClass = '.Manhuaren' - extVersionCode = 15 + extVersionCode = 16 } apply from: "$rootDir/common.gradle" diff --git a/src/zh/manhuaren/src/eu/kanade/tachiyomi/extension/zh/manhuaren/Manhuaren.kt b/src/zh/manhuaren/src/eu/kanade/tachiyomi/extension/zh/manhuaren/Manhuaren.kt index 555dbda1c..57d71a4a9 100644 --- a/src/zh/manhuaren/src/eu/kanade/tachiyomi/extension/zh/manhuaren/Manhuaren.kt +++ b/src/zh/manhuaren/src/eu/kanade/tachiyomi/extension/zh/manhuaren/Manhuaren.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.manhuaren -import android.app.Application import android.content.SharedPreferences import android.os.Build import android.text.format.DateFormat @@ -15,6 +14,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferences import kotlinx.serialization.Serializable import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json @@ -31,8 +31,6 @@ import okhttp3.Response import okio.Buffer import org.json.JSONArray import org.json.JSONObject -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.net.URLEncoder import java.security.KeyFactory import java.security.MessageDigest @@ -54,8 +52,7 @@ class Manhuaren : HttpSource(), ConfigurableSource { private val pageSize = 20 private val baseHttpUrl = baseUrl.toHttpUrl() - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() private val gsnSalt = "4e0a48e1c0b54041bce9c8f0e036124d" private val encodedPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmFCg289dTws27v8GtqIffkP4zgFR+MYIuUIeVO5AGiBV0rfpRh5gg7i8RrT12E9j6XwKoe3xJz1khDnPc65P5f7CJcNJ9A8bj7Al5K4jYGxz+4Q+n0YzSllXPit/Vz/iW5jFdlP6CTIgUVwvIoGEL2sS4cqqqSpCDKHSeiXh9CtMsktc6YyrSN+8mQbBvoSSew18r/vC07iQiaYkClcs7jIPq9tuilL//2uR9kWn5jsp8zHKVjmXuLtHDhM9lObZGCVJwdlN2KDKTh276u/pzQ1s5u8z/ARtK26N8e5w8mNlGcHcHfwyhjfEQurvrnkqYH37+12U3jGk5YNHGyOPcwIDAQAB" diff --git a/src/zh/manwa/build.gradle b/src/zh/manwa/build.gradle index 1f034dc2b..af2fd3efe 100644 --- a/src/zh/manwa/build.gradle +++ b/src/zh/manwa/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Manwa' extClass = '.Manwa' - extVersionCode = 8 + extVersionCode = 9 isNsfw = true } diff --git a/src/zh/manwa/src/eu/kanade/tachiyomi/extension/zh/manwa/Manwa.kt b/src/zh/manwa/src/eu/kanade/tachiyomi/extension/zh/manwa/Manwa.kt index 258e76b9a..0dec1bd2c 100644 --- a/src/zh/manwa/src/eu/kanade/tachiyomi/extension/zh/manwa/Manwa.kt +++ b/src/zh/manwa/src/eu/kanade/tachiyomi/extension/zh/manwa/Manwa.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.manwa -import android.app.Application import android.content.SharedPreferences import android.net.Uri import androidx.preference.CheckBoxPreference @@ -15,6 +14,7 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import kotlinx.serialization.json.Json import kotlinx.serialization.json.int import kotlinx.serialization.json.jsonArray @@ -31,8 +31,6 @@ import okhttp3.ResponseBody.Companion.toResponseBody import org.jsoup.nodes.Document import org.jsoup.nodes.Element import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import javax.crypto.Cipher import javax.crypto.spec.IvParameterSpec @@ -43,8 +41,7 @@ class Manwa : ParsedHttpSource(), ConfigurableSource { override val lang: String = "zh" override val supportsLatest: Boolean = true private val json: Json by injectLazy() - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() override val baseUrl = "https://" + MIRROR_ENTRIES.run { this[preferences.getString(MIRROR_KEY, "0")!!.toInt().coerceAtMost(size)] } private val rewriteOctetStream: Interceptor = Interceptor { chain -> diff --git a/src/zh/noyacg/build.gradle b/src/zh/noyacg/build.gradle index 7dee71c92..2c1d5206b 100644 --- a/src/zh/noyacg/build.gradle +++ b/src/zh/noyacg/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'NoyAcg' extClass = '.NoyAcg' - extVersionCode = 2 + extVersionCode = 3 isNsfw = true } diff --git a/src/zh/noyacg/src/eu/kanade/tachiyomi/extension/zh/noyacg/NoyAcg.kt b/src/zh/noyacg/src/eu/kanade/tachiyomi/extension/zh/noyacg/NoyAcg.kt index fc8e32777..e458d536f 100644 --- a/src/zh/noyacg/src/eu/kanade/tachiyomi/extension/zh/noyacg/NoyAcg.kt +++ b/src/zh/noyacg/src/eu/kanade/tachiyomi/extension/zh/noyacg/NoyAcg.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.noyacg -import android.app.Application import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.POST @@ -12,14 +11,13 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferences import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromStream import okhttp3.FormBody import okhttp3.Request import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy class NoyAcg : HttpSource(), ConfigurableSource { @@ -28,9 +26,7 @@ class NoyAcg : HttpSource(), ConfigurableSource { override val supportsLatest get() = true override val baseUrl get() = "https://noy1.top" - private val imageCdn by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000).imageCdn - } + private val imageCdn by lazy { getPreferences().imageCdn } override fun headersBuilder() = super.headersBuilder() .add("Referer", "$baseUrl/") diff --git a/src/zh/picacomic/build.gradle b/src/zh/picacomic/build.gradle index b99426899..a2ad6790e 100644 --- a/src/zh/picacomic/build.gradle +++ b/src/zh/picacomic/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Picacomic' extClass = '.Picacomic' - extVersionCode = 5 + extVersionCode = 6 isNsfw = true } diff --git a/src/zh/picacomic/src/eu/kanade/tachiyomi/extension/zh/picacomic/Picacomic.kt b/src/zh/picacomic/src/eu/kanade/tachiyomi/extension/zh/picacomic/Picacomic.kt index 82e721e85..4e86715bb 100644 --- a/src/zh/picacomic/src/eu/kanade/tachiyomi/extension/zh/picacomic/Picacomic.kt +++ b/src/zh/picacomic/src/eu/kanade/tachiyomi/extension/zh/picacomic/Picacomic.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.picacomic -import android.app.Application import android.content.SharedPreferences import android.util.Base64 import androidx.preference.EditTextPreference @@ -16,6 +15,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferences import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json @@ -26,8 +26,6 @@ import okhttp3.MediaType.Companion.toMediaType import okhttp3.Request import okhttp3.RequestBody.Companion.toRequestBody import okhttp3.Response -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.net.URLEncoder import java.text.SimpleDateFormat import java.util.Date @@ -41,8 +39,7 @@ class Picacomic : HttpSource(), ConfigurableSource { override val baseUrl = "https://picaapi.picacomic.com" private val leeway: Long = 10 - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() private val blocklist = preferences.getString("BLOCK_GENRES", "")!! .split(',').map { it.trim() } diff --git a/src/zh/roumanwu/build.gradle b/src/zh/roumanwu/build.gradle index 8252b354a..a49e1ee3a 100644 --- a/src/zh/roumanwu/build.gradle +++ b/src/zh/roumanwu/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Roumanwu' extClass = '.Roumanwu' - extVersionCode = 15 + extVersionCode = 16 isNsfw = true } diff --git a/src/zh/roumanwu/src/eu/kanade/tachiyomi/extension/zh/roumanwu/Roumanwu.kt b/src/zh/roumanwu/src/eu/kanade/tachiyomi/extension/zh/roumanwu/Roumanwu.kt index f4efb82de..5efeb702a 100644 --- a/src/zh/roumanwu/src/eu/kanade/tachiyomi/extension/zh/roumanwu/Roumanwu.kt +++ b/src/zh/roumanwu/src/eu/kanade/tachiyomi/extension/zh/roumanwu/Roumanwu.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.roumanwu -import android.app.Application import android.content.SharedPreferences import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.network.GET @@ -13,11 +12,10 @@ import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.util.asJsoup +import keiyoushi.utils.getPreferences import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import kotlin.math.max class Roumanwu : ParsedHttpSource(), ConfigurableSource { @@ -25,8 +23,7 @@ class Roumanwu : ParsedHttpSource(), ConfigurableSource { override val lang = "zh" override val supportsLatest = true - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() override val baseUrl = MIRRORS[ max(MIRRORS.size - 1, preferences.getString(MIRROR_PREF, MIRROR_DEFAULT)!!.toInt()), diff --git a/src/zh/vomic/build.gradle b/src/zh/vomic/build.gradle index 05b672f9f..bed2e57d9 100644 --- a/src/zh/vomic/build.gradle +++ b/src/zh/vomic/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'vomic' extClass = '.Vomic' - extVersionCode = 4 + extVersionCode = 5 } apply from: "$rootDir/common.gradle" diff --git a/src/zh/vomic/src/eu/kanade/tachiyomi/extension/zh/vomic/Vomic.kt b/src/zh/vomic/src/eu/kanade/tachiyomi/extension/zh/vomic/Vomic.kt index a1bb24a2d..c9260d5eb 100644 --- a/src/zh/vomic/src/eu/kanade/tachiyomi/extension/zh/vomic/Vomic.kt +++ b/src/zh/vomic/src/eu/kanade/tachiyomi/extension/zh/vomic/Vomic.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.vomic -import android.app.Application import android.util.Base64 import androidx.preference.EditTextPreference import androidx.preference.PreferenceScreen @@ -12,14 +11,13 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferences import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request import okhttp3.Response -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.io.IOException import java.text.SimpleDateFormat @@ -41,7 +39,7 @@ class Vomic : HttpSource(), ConfigurableSource { private val apiUrl: String init { - val domain = Injekt.get().getSharedPreferences("source_$id", 0x0000).getString(DOMAIN_PREF, DEFAULT_DOMAIN)!! + val domain = getPreferences().getString(DOMAIN_PREF, DEFAULT_DOMAIN)!! if (domain.startsWith("www.") || domain.startsWith("api.")) { val tld = domain.substring(4) baseUrl = "http://www.$tld" diff --git a/src/zh/wnacg/build.gradle b/src/zh/wnacg/build.gradle index e0c7bc511..8282a925d 100644 --- a/src/zh/wnacg/build.gradle +++ b/src/zh/wnacg/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'WNACG' extClass = '.wnacg' - extVersionCode = 17 + extVersionCode = 18 isNsfw = true } diff --git a/src/zh/wnacg/src/eu/kanade/tachiyomi/extension/zh/wnacg/Preferences.kt b/src/zh/wnacg/src/eu/kanade/tachiyomi/extension/zh/wnacg/Preferences.kt index a33e29dbb..d7e0d937b 100644 --- a/src/zh/wnacg/src/eu/kanade/tachiyomi/extension/zh/wnacg/Preferences.kt +++ b/src/zh/wnacg/src/eu/kanade/tachiyomi/extension/zh/wnacg/Preferences.kt @@ -1,14 +1,11 @@ package eu.kanade.tachiyomi.extension.zh.wnacg -import android.app.Application import android.content.Context import android.content.SharedPreferences import androidx.preference.ListPreference import eu.kanade.tachiyomi.network.GET import okhttp3.Interceptor import okhttp3.Response -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import java.io.IOException import kotlin.random.Random @@ -42,15 +39,14 @@ val SharedPreferences.urlList get() = getString(URL_LIST_PREF, DEFAULT_LIST)!!.s fun getCiBaseUrl() = DEFAULT_LIST.replace(",", "#, ") -fun getSharedPreferences(id: Long): SharedPreferences { - val preferences: SharedPreferences = Injekt.get().getSharedPreferences("source_$id", 0x0000) - if (preferences.getString(DEFAULT_LIST_PREF, "")!! == DEFAULT_LIST) return preferences - preferences.edit() - .remove("overrideBaseUrl") - .putString(DEFAULT_LIST_PREF, DEFAULT_LIST) - .setUrlList(DEFAULT_LIST, preferences.urlIndex) - .apply() - return preferences +fun SharedPreferences.preferenceMigration() { + if (getString(DEFAULT_LIST_PREF, "")!! != DEFAULT_LIST) { + edit() + .remove("overrideBaseUrl") + .putString(DEFAULT_LIST_PREF, DEFAULT_LIST) + .setUrlList(DEFAULT_LIST, urlIndex) + .apply() + } } fun SharedPreferences.Editor.setUrlList(urlList: String, oldIndex: Int): SharedPreferences.Editor { diff --git a/src/zh/wnacg/src/eu/kanade/tachiyomi/extension/zh/wnacg/wnacg.kt b/src/zh/wnacg/src/eu/kanade/tachiyomi/extension/zh/wnacg/wnacg.kt index 7720016d9..db9c9e3c5 100644 --- a/src/zh/wnacg/src/eu/kanade/tachiyomi/extension/zh/wnacg/wnacg.kt +++ b/src/zh/wnacg/src/eu/kanade/tachiyomi/extension/zh/wnacg/wnacg.kt @@ -9,6 +9,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferences import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request @@ -22,7 +23,7 @@ class wnacg : ParsedHttpSource(), ConfigurableSource { override val lang = "zh" override val supportsLatest = false - private val preferences = getSharedPreferences(id) + private val preferences = getPreferences { preferenceMigration() } override val baseUrl = when (System.getenv("CI")) { "true" -> getCiBaseUrl() diff --git a/src/zh/yidan/build.gradle b/src/zh/yidan/build.gradle index b7d176fc7..d542c542c 100644 --- a/src/zh/yidan/build.gradle +++ b/src/zh/yidan/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Yidan Girl' extClass = '.Yidan' - extVersionCode = 2 + extVersionCode = 3 isNsfw = true } diff --git a/src/zh/yidan/src/eu/kanade/tachiyomi/extension/zh/yidan/Yidan.kt b/src/zh/yidan/src/eu/kanade/tachiyomi/extension/zh/yidan/Yidan.kt index 65b3e5c73..685e91a86 100644 --- a/src/zh/yidan/src/eu/kanade/tachiyomi/extension/zh/yidan/Yidan.kt +++ b/src/zh/yidan/src/eu/kanade/tachiyomi/extension/zh/yidan/Yidan.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.yidan -import android.app.Application import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.network.GET @@ -12,6 +11,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferences import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromStream import okhttp3.Headers @@ -19,8 +19,6 @@ import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy class Yidan : HttpSource(), ConfigurableSource { @@ -32,7 +30,7 @@ class Yidan : HttpSource(), ConfigurableSource { init { val mirrors = MIRRORS - val index = Injekt.get().getSharedPreferences("source_$id", 0x0000) + val index = getPreferences() .getString(MIRROR_PREF, "0")!!.toInt().coerceAtMost(mirrors.size - 1) baseUrl = "https://" + mirrors[index] } diff --git a/src/zh/zaimanhua/build.gradle b/src/zh/zaimanhua/build.gradle index 27e316df7..facb9d856 100644 --- a/src/zh/zaimanhua/build.gradle +++ b/src/zh/zaimanhua/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Zaimanhua' extClass = '.Zaimanhua' - extVersionCode = 5 + extVersionCode = 6 } apply from: "$rootDir/common.gradle" diff --git a/src/zh/zaimanhua/src/eu/kanade/tachiyomi/extension/zh/zaimanhua/Zaimanhua.kt b/src/zh/zaimanhua/src/eu/kanade/tachiyomi/extension/zh/zaimanhua/Zaimanhua.kt index d3c7dc5bd..17fc93b54 100644 --- a/src/zh/zaimanhua/src/eu/kanade/tachiyomi/extension/zh/zaimanhua/Zaimanhua.kt +++ b/src/zh/zaimanhua/src/eu/kanade/tachiyomi/extension/zh/zaimanhua/Zaimanhua.kt @@ -1,6 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.zaimanhua -import android.app.Application import android.content.SharedPreferences import androidx.preference.EditTextPreference import androidx.preference.ListPreference @@ -15,6 +14,7 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource +import keiyoushi.utils.getPreferences import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json @@ -29,8 +29,6 @@ import okhttp3.Request import okhttp3.RequestBody import okhttp3.Response import rx.Observable -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.io.IOException import java.security.MessageDigest @@ -48,8 +46,7 @@ class Zaimanhua : HttpSource(), ConfigurableSource { private val json by injectLazy() - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) + private val preferences: SharedPreferences = getPreferences() override val client: OkHttpClient = network.client.newBuilder() .rateLimit(5) diff --git a/src/zh/zerobyw/build.gradle b/src/zh/zerobyw/build.gradle index 79a7fc4a8..93704e003 100644 --- a/src/zh/zerobyw/build.gradle +++ b/src/zh/zerobyw/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Zerobyw' extClass = '.Zerobyw' - extVersionCode = 18 + extVersionCode = 19 } apply from: "$rootDir/common.gradle" diff --git a/src/zh/zerobyw/src/eu/kanade/tachiyomi/extension/zh/zerobyw/UpdateUrl.kt b/src/zh/zerobyw/src/eu/kanade/tachiyomi/extension/zh/zerobyw/UpdateUrl.kt index 88f6fc217..72eeea5e5 100644 --- a/src/zh/zerobyw/src/eu/kanade/tachiyomi/extension/zh/zerobyw/UpdateUrl.kt +++ b/src/zh/zerobyw/src/eu/kanade/tachiyomi/extension/zh/zerobyw/UpdateUrl.kt @@ -21,13 +21,13 @@ var SharedPreferences.baseUrl: String get() = getString(BASE_URL_PREF, DEFAULT_BASE_URL)!! set(value) = edit().putString(BASE_URL_PREF, value).apply() -fun SharedPreferences.clearOldBaseUrl(): SharedPreferences { - if (getString(DEFAULT_BASE_URL_PREF, "")!! == DEFAULT_BASE_URL) return this +fun SharedPreferences.clearOldBaseUrl() { + if (getString(DEFAULT_BASE_URL_PREF, "")!! == DEFAULT_BASE_URL) return + edit() .remove(BASE_URL_PREF) .putString(DEFAULT_BASE_URL_PREF, DEFAULT_BASE_URL) .apply() - return this } fun getBaseUrlPreference(context: Context) = EditTextPreference(context).apply { diff --git a/src/zh/zerobyw/src/eu/kanade/tachiyomi/extension/zh/zerobyw/Zerobyw.kt b/src/zh/zerobyw/src/eu/kanade/tachiyomi/extension/zh/zerobyw/Zerobyw.kt index 96d54d1db..880fb0605 100644 --- a/src/zh/zerobyw/src/eu/kanade/tachiyomi/extension/zh/zerobyw/Zerobyw.kt +++ b/src/zh/zerobyw/src/eu/kanade/tachiyomi/extension/zh/zerobyw/Zerobyw.kt @@ -1,7 +1,5 @@ package eu.kanade.tachiyomi.extension.zh.zerobyw -import android.app.Application -import android.content.SharedPreferences import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.source.ConfigurableSource @@ -11,22 +9,19 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import keiyoushi.utils.getPreferences import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get class Zerobyw : ParsedHttpSource(), ConfigurableSource { override val name: String = "zero搬运网" override val lang: String = "zh" override val supportsLatest: Boolean get() = false - private val preferences: SharedPreferences = - Injekt.get().getSharedPreferences("source_$id", 0x0000) - .clearOldBaseUrl() + private val preferences = getPreferences { clearOldBaseUrl() } override val client = network.cloudflareClient.newBuilder() .addInterceptor(UpdateUrlInterceptor(preferences))