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…
	
	Add table
		Add a link
		
	
		Reference in a new issue