From 3567e6113154bab61f2f0a58b9b9f879c61d743e Mon Sep 17 00:00:00 2001 From: int3debug <164035730+int3debug@users.noreply.github.com> Date: Tue, 26 Mar 2024 23:11:17 +0100 Subject: [PATCH] refact: check if extractor class exist for v4.3.0 --- .../main/kotlin/com/hexated/SoraStreamPlugin.kt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt b/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt index f0f54b5e..5df22605 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt @@ -7,6 +7,17 @@ import android.content.Context @CloudstreamPlugin class SoraStreamPlugin: Plugin() { + + private fun classExist(className: String) : Boolean { + try { + Class.forName(className) + } catch (e: Exception) { + return false + } + + return true + } + override fun load(context: Context) { // All providers should be added in this manner. Please don't edit the providers list directly. registerMainAPI(SoraStream()) @@ -19,7 +30,11 @@ class SoraStreamPlugin: Plugin() { registerExtractorAPI(TravelR()) registerExtractorAPI(Playm4u()) registerExtractorAPI(VCloud()) - registerExtractorAPI(Pixeldra()) + + if (classExist("com.lagradost.cloudstream3.extractors.PixelDrain")) { + registerExtractorAPI(Pixeldra()) + } + registerExtractorAPI(M4ufree()) registerExtractorAPI(Streamruby()) registerExtractorAPI(Streamwish())