mirror of
https://github.com/recloudstream/cloudstream.git
synced 2024-08-15 01:53:11 +00:00
Made prebuilt repos key based and added nice info to extensions page
This commit is contained in:
parent
815838f17b
commit
796ae90b8c
10 changed files with 41 additions and 20 deletions
|
@ -41,7 +41,6 @@ import com.lagradost.cloudstream3.CommonActivity.showToast
|
|||
import com.lagradost.cloudstream3.CommonActivity.updateLocale
|
||||
import com.lagradost.cloudstream3.mvvm.logError
|
||||
import com.lagradost.cloudstream3.network.initClient
|
||||
import com.lagradost.cloudstream3.plugins.PREBUILT_REPOSITORIES
|
||||
import com.lagradost.cloudstream3.receivers.VideoDownloadRestartReceiver
|
||||
import com.lagradost.cloudstream3.syncproviders.AccountManager.Companion.OAuth2Apis
|
||||
import com.lagradost.cloudstream3.syncproviders.AccountManager.Companion.accountManagers
|
||||
|
@ -84,6 +83,7 @@ import kotlin.concurrent.thread
|
|||
import kotlin.reflect.KClass
|
||||
import com.lagradost.cloudstream3.plugins.PluginManager
|
||||
import com.lagradost.cloudstream3.plugins.RepositoryManager
|
||||
import com.lagradost.cloudstream3.plugins.RepositoryManager.PREBUILT_REPOSITORIES
|
||||
import com.lagradost.cloudstream3.ui.settings.extensions.RepositoryData
|
||||
import com.lagradost.cloudstream3.utils.Coroutines.main
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ import com.lagradost.cloudstream3.ui.settings.extensions.REPOSITORIES_KEY
|
|||
import com.lagradost.cloudstream3.ui.settings.extensions.RepositoryData
|
||||
import com.lagradost.cloudstream3.utils.VideoDownloadManager.sanitizeFilename
|
||||
import com.lagradost.cloudstream3.APIHolder.removePluginMapping
|
||||
import com.lagradost.cloudstream3.plugins.RepositoryManager.PREBUILT_REPOSITORIES
|
||||
import com.lagradost.cloudstream3.utils.ExtractorApi
|
||||
import com.lagradost.cloudstream3.utils.extractorApis
|
||||
import kotlinx.coroutines.sync.Mutex
|
||||
|
|
|
@ -23,13 +23,6 @@ import java.io.OutputStream
|
|||
/**
|
||||
* Comes with the app, always available in the app, non removable.
|
||||
* */
|
||||
val PREBUILT_REPOSITORIES = arrayOf<RepositoryData>(
|
||||
// TODO FIX
|
||||
// RepositoryData(
|
||||
// "Testing repository",
|
||||
// "https://raw.githubusercontent.com/recloudstream/cs-repos/master/test.json"
|
||||
// )
|
||||
)
|
||||
|
||||
data class Repository(
|
||||
@JsonProperty("name") val name: String,
|
||||
|
@ -74,6 +67,9 @@ data class SitePlugin(
|
|||
|
||||
object RepositoryManager {
|
||||
const val ONLINE_PLUGINS_FOLDER = "Extensions"
|
||||
val PREBUILT_REPOSITORIES: Array<RepositoryData> by lazy {
|
||||
getKey("PREBUILT_REPOSITORIES") ?: emptyArray()
|
||||
}
|
||||
|
||||
suspend fun parseRepository(url: String): Repository? {
|
||||
return suspendSafeApiCall {
|
||||
|
|
|
@ -18,7 +18,6 @@ import com.lagradost.cloudstream3.CommonActivity.showToast
|
|||
import com.lagradost.cloudstream3.R
|
||||
import com.lagradost.cloudstream3.mvvm.Some
|
||||
import com.lagradost.cloudstream3.mvvm.observe
|
||||
import com.lagradost.cloudstream3.plugins.PREBUILT_REPOSITORIES
|
||||
import com.lagradost.cloudstream3.plugins.RepositoryManager
|
||||
import com.lagradost.cloudstream3.ui.result.setText
|
||||
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.setUpToolbar
|
||||
|
@ -94,6 +93,8 @@ class ExtensionsFragment : Fragment() {
|
|||
})
|
||||
|
||||
observe(extensionViewModel.repositories) {
|
||||
repo_recycler_view?.isVisible = it.isNotEmpty()
|
||||
blank_repo_screen?.isVisible = it.isEmpty()
|
||||
(repo_recycler_view?.adapter as? RepoAdapter)?.updateList(it)
|
||||
}
|
||||
|
||||
|
|
|
@ -10,10 +10,10 @@ import com.lagradost.cloudstream3.R
|
|||
import com.lagradost.cloudstream3.apmap
|
||||
import com.lagradost.cloudstream3.mvvm.Some
|
||||
import com.lagradost.cloudstream3.mvvm.debugAssert
|
||||
import com.lagradost.cloudstream3.plugins.PREBUILT_REPOSITORIES
|
||||
import com.lagradost.cloudstream3.plugins.PluginManager
|
||||
import com.lagradost.cloudstream3.plugins.PluginManager.getPluginsOnline
|
||||
import com.lagradost.cloudstream3.plugins.RepositoryManager
|
||||
import com.lagradost.cloudstream3.plugins.RepositoryManager.PREBUILT_REPOSITORIES
|
||||
import com.lagradost.cloudstream3.ui.result.UiText
|
||||
import com.lagradost.cloudstream3.ui.result.txt
|
||||
import kotlinx.coroutines.launch
|
||||
|
|
|
@ -6,7 +6,7 @@ import android.view.ViewGroup
|
|||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.lagradost.cloudstream3.R
|
||||
import com.lagradost.cloudstream3.plugins.PREBUILT_REPOSITORIES
|
||||
import com.lagradost.cloudstream3.plugins.RepositoryManager.PREBUILT_REPOSITORIES
|
||||
import kotlinx.android.synthetic.main.repository_item.view.*
|
||||
|
||||
class RepoAdapter(
|
||||
|
|
|
@ -8,7 +8,7 @@ import androidx.core.view.isVisible
|
|||
import androidx.fragment.app.Fragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import com.lagradost.cloudstream3.R
|
||||
import com.lagradost.cloudstream3.plugins.PREBUILT_REPOSITORIES
|
||||
import com.lagradost.cloudstream3.plugins.RepositoryManager.PREBUILT_REPOSITORIES
|
||||
import com.lagradost.cloudstream3.ui.settings.extensions.PluginsViewModel
|
||||
import com.lagradost.cloudstream3.ui.settings.extensions.RepoAdapter
|
||||
import com.lagradost.cloudstream3.utils.UIHelper.fixPaddingStatusbar
|
||||
|
|
|
@ -14,8 +14,8 @@ import com.lagradost.cloudstream3.BuildConfig
|
|||
import com.lagradost.cloudstream3.CommonActivity
|
||||
import com.lagradost.cloudstream3.R
|
||||
import com.lagradost.cloudstream3.mvvm.normalSafeApiCall
|
||||
import com.lagradost.cloudstream3.plugins.PREBUILT_REPOSITORIES
|
||||
import com.lagradost.cloudstream3.plugins.PluginManager
|
||||
import com.lagradost.cloudstream3.plugins.RepositoryManager.PREBUILT_REPOSITORIES
|
||||
import com.lagradost.cloudstream3.ui.settings.appLanguages
|
||||
import com.lagradost.cloudstream3.ui.settings.getCurrentLocale
|
||||
import com.lagradost.cloudstream3.utils.SubtitleHelper
|
||||
|
|
|
@ -17,11 +17,33 @@
|
|||
android:layout_marginBottom="80dp"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||
|
||||
app:layout_constraintBottom_toTopOf="@id/download_storage_appbar"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:listitem="@layout/repository_item" />
|
||||
|
||||
<LinearLayout
|
||||
android:visibility="gone"
|
||||
android:id="@+id/blank_repo_screen"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="20dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:layout_margin="10dp"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:src="@drawable/ic_baseline_extension_24" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="@string/blank_repo_message"
|
||||
android:textSize="16sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/plugin_storage_appbar"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -53,22 +75,22 @@
|
|||
android:id="@+id/plugin_download"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
tools:layout_weight="0.5"
|
||||
android:background="?attr/white" />
|
||||
android:background="?attr/white"
|
||||
tools:layout_weight="0.5" />
|
||||
|
||||
<View
|
||||
android:id="@+id/plugin_disabled"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
tools:layout_weight="0.10"
|
||||
android:background="?attr/colorPrimary" />
|
||||
android:background="?attr/colorPrimary"
|
||||
tools:layout_weight="0.10" />
|
||||
|
||||
<View
|
||||
android:id="@+id/plugin_not_downloaded"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
tools:layout_weight="0.10"
|
||||
android:background="?attr/grayTextColor" />
|
||||
android:background="?attr/grayTextColor"
|
||||
tools:layout_weight="0.10" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
@ -591,4 +591,5 @@
|
|||
<string name="plugins_downloaded" formatted="true">Downloaded: %d</string>
|
||||
<string name="plugins_disabled" formatted="true">Disabled: %d</string>
|
||||
<string name="plugins_not_downloaded" formatted="true">Not downloaded: %d</string>
|
||||
<string name="blank_repo_message">Add a repository to install site extensions</string>
|
||||
</resources>
|
||||
|
|
Loading…
Reference in a new issue