From b236fc2a8448c249f891f04a9ea880283b0bd691 Mon Sep 17 00:00:00 2001 From: Claudemirovsky <63046606+Claudemirovsky@users.noreply.github.com> Date: Tue, 2 May 2023 09:20:52 -0300 Subject: [PATCH] feat(lib): Convert GdrivePlayerExtractor to shared lib (#1573) --- lib/gdriveplayer-extractor/build.gradle.kts | 21 ++++++ .../GdrivePlayerExtractor.kt | 68 +++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 lib/gdriveplayer-extractor/build.gradle.kts create mode 100644 lib/gdriveplayer-extractor/src/main/java/eu/kanade/tachiyomi/lib/gdriveplayerextractor/GdrivePlayerExtractor.kt diff --git a/lib/gdriveplayer-extractor/build.gradle.kts b/lib/gdriveplayer-extractor/build.gradle.kts new file mode 100644 index 000000000..a7df5d0ba --- /dev/null +++ b/lib/gdriveplayer-extractor/build.gradle.kts @@ -0,0 +1,21 @@ +plugins { + id("com.android.library") + kotlin("android") + id("kotlinx-serialization") +} + +android { + compileSdk = AndroidConfig.compileSdk + namespace = "eu.kanade.tachiyomi.lib.gdriveplayerextractor" + + defaultConfig { + minSdk = AndroidConfig.minSdk + targetSdk = AndroidConfig.targetSdk + } +} + +dependencies { + compileOnly(libs.bundles.common) + implementation(project(":lib-cryptoaes")) + implementation(project(":lib-unpacker")) +} diff --git a/lib/gdriveplayer-extractor/src/main/java/eu/kanade/tachiyomi/lib/gdriveplayerextractor/GdrivePlayerExtractor.kt b/lib/gdriveplayer-extractor/src/main/java/eu/kanade/tachiyomi/lib/gdriveplayerextractor/GdrivePlayerExtractor.kt new file mode 100644 index 000000000..a5012a733 --- /dev/null +++ b/lib/gdriveplayer-extractor/src/main/java/eu/kanade/tachiyomi/lib/gdriveplayerextractor/GdrivePlayerExtractor.kt @@ -0,0 +1,68 @@ +package eu.kanade.tachiyomi.lib.gdriveplayerextractor + +import eu.kanade.tachiyomi.animesource.model.Track +import eu.kanade.tachiyomi.animesource.model.Video +import eu.kanade.tachiyomi.lib.cryptoaes.CryptoAES.decryptWithSalt +import eu.kanade.tachiyomi.lib.unpacker.Unpacker +import eu.kanade.tachiyomi.network.GET +import kotlinx.serialization.decodeFromString +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.JsonObject +import kotlinx.serialization.json.jsonPrimitive +import okhttp3.Headers +import okhttp3.OkHttpClient +import org.jsoup.Jsoup + +class GdrivePlayerExtractor(private val client: OkHttpClient) { + + fun videosFromUrl(url: String, name: String, headers: Headers): List