forked from recloudstream/cloudstream
Added adult marker support and status int to SitePlugin
This commit is contained in:
parent
2af440ee30
commit
8f3176d2cf
4 changed files with 34 additions and 11 deletions
|
@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonProperty
|
||||||
import com.lagradost.cloudstream3.AcraApplication.Companion.getKey
|
import com.lagradost.cloudstream3.AcraApplication.Companion.getKey
|
||||||
import com.lagradost.cloudstream3.AcraApplication.Companion.removeKey
|
import com.lagradost.cloudstream3.AcraApplication.Companion.removeKey
|
||||||
import com.lagradost.cloudstream3.AcraApplication.Companion.setKey
|
import com.lagradost.cloudstream3.AcraApplication.Companion.setKey
|
||||||
|
import com.lagradost.cloudstream3.PROVIDER_STATUS_OK
|
||||||
import com.lagradost.cloudstream3.apmap
|
import com.lagradost.cloudstream3.apmap
|
||||||
import com.lagradost.cloudstream3.app
|
import com.lagradost.cloudstream3.app
|
||||||
import com.lagradost.cloudstream3.mvvm.suspendSafeApiCall
|
import com.lagradost.cloudstream3.mvvm.suspendSafeApiCall
|
||||||
|
@ -27,17 +28,26 @@ data class Repository(
|
||||||
@JsonProperty("pluginLists") val pluginLists: List<String>
|
@JsonProperty("pluginLists") val pluginLists: List<String>
|
||||||
)
|
)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Status int as the following:
|
||||||
|
* 0: Down
|
||||||
|
* 1: Ok
|
||||||
|
* 2: Slow
|
||||||
|
* 3: Beta only
|
||||||
|
* */
|
||||||
data class SitePlugin(
|
data class SitePlugin(
|
||||||
@JsonProperty("url") val url: String,
|
@JsonProperty("url") val url: String,
|
||||||
@JsonProperty("tvTypes") val tvTypes: List<String>?,
|
@JsonProperty("status") val status: Int,
|
||||||
@JsonProperty("version") val version: Int,
|
@JsonProperty("version") val version: Int,
|
||||||
@JsonProperty("apiVersion") val apiVersion: Int,
|
@JsonProperty("apiVersion") val apiVersion: Int,
|
||||||
@JsonProperty("name") val name: String,
|
@JsonProperty("name") val name: String,
|
||||||
@JsonProperty("authors") val authors: List<String>,
|
@JsonProperty("authors") val authors: List<String>,
|
||||||
@JsonProperty("description") val description: String?,
|
@JsonProperty("description") val description: String?,
|
||||||
@JsonProperty("repositoryUrl") val repositoryUrl: String?,
|
@JsonProperty("repositoryUrl") val repositoryUrl: String?,
|
||||||
|
@JsonProperty("tvTypes") val tvTypes: List<String>?,
|
||||||
@JsonProperty("language") val language: String?,
|
@JsonProperty("language") val language: String?,
|
||||||
@JsonProperty("iconUrl") val iconUrl: String?
|
@JsonProperty("iconUrl") val iconUrl: String?,
|
||||||
|
@JsonProperty("isAdult") val isAdult: Boolean?,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -63,7 +73,7 @@ object RepositoryManager {
|
||||||
val repo = parseRepository(repositoryUrl) ?: return null
|
val repo = parseRepository(repositoryUrl) ?: return null
|
||||||
return repo.pluginLists.apmap {
|
return repo.pluginLists.apmap {
|
||||||
parsePlugins(it)
|
parsePlugins(it)
|
||||||
}.filterNotNull().flatten()
|
}.flatten()
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun downloadPluginToFile(context: Context, pluginUrl: String, name: String): File? {
|
suspend fun downloadPluginToFile(context: Context, pluginUrl: String, name: String): File? {
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.lagradost.cloudstream3.ui.settings.extensions
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import androidx.core.view.isVisible
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.lagradost.cloudstream3.R
|
import com.lagradost.cloudstream3.R
|
||||||
import com.lagradost.cloudstream3.plugins.PluginData
|
import com.lagradost.cloudstream3.plugins.PluginData
|
||||||
|
@ -51,7 +52,8 @@ class PluginAdapter(
|
||||||
R.drawable.ic_baseline_delete_outline_24
|
R.drawable.ic_baseline_delete_outline_24
|
||||||
else R.drawable.netflix_download
|
else R.drawable.netflix_download
|
||||||
|
|
||||||
itemView.action_button.setImageResource(drawableInt)
|
itemView.nsfw_marker?.isVisible = plugin.isAdult == true
|
||||||
|
itemView.action_button?.setImageResource(drawableInt)
|
||||||
|
|
||||||
itemView.action_button?.setOnClickListener {
|
itemView.action_button?.setOnClickListener {
|
||||||
iconClickCallback.invoke(this@PluginAdapter, plugin, isDownloaded)
|
iconClickCallback.invoke(this@PluginAdapter, plugin, isDownloaded)
|
||||||
|
|
|
@ -7,9 +7,9 @@
|
||||||
android:padding="20dp">
|
android:padding="20dp">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_weight="1"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -28,13 +28,23 @@
|
||||||
tools:text="https://github.com/..." />
|
tools:text="https://github.com/..." />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/action_button"
|
|
||||||
android:layout_gravity="center_vertical"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
tools:src="@drawable/ic_baseline_add_24"
|
|
||||||
android:layout_height="wrap_content">
|
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:visibility="gone"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:gravity="center"
|
||||||
|
android:id="@+id/nsfw_marker"
|
||||||
|
style="@style/SearchBox"
|
||||||
|
android:background="@drawable/sub_bg_color"
|
||||||
|
android:text="@string/is_adult" />
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:id="@+id/action_button"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_vertical"
|
||||||
|
tools:src="@drawable/ic_baseline_add_24">
|
||||||
</ImageView>
|
</ImageView>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -576,4 +576,5 @@
|
||||||
<string name="plugin_loaded">Plugin Loaded</string>
|
<string name="plugin_loaded">Plugin Loaded</string>
|
||||||
<string name="plugin_deleted">Plugin Deleted</string>
|
<string name="plugin_deleted">Plugin Deleted</string>
|
||||||
<string name="plugin_load_fail" formatted="true">Failed to load %s</string>
|
<string name="plugin_load_fail" formatted="true">Failed to load %s</string>
|
||||||
|
<string name="is_adult">18+</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
Loading…
Reference in a new issue