mirror of
https://github.com/recloudstream/cloudstream.git
synced 2024-08-15 01:53:11 +00:00
[Feature] Filter extension list automatically by preferred media language.
This commit is contained in:
parent
789f3db554
commit
9be50eb28b
3 changed files with 23 additions and 0 deletions
|
@ -8,6 +8,9 @@ import androidx.appcompat.widget.SearchView
|
|||
import androidx.core.view.isVisible
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.preference.PreferenceManager
|
||||
import com.lagradost.cloudstream3.APIHolder.getApiProviderLangSettings
|
||||
import com.lagradost.cloudstream3.AllLanguagesName
|
||||
import com.lagradost.cloudstream3.R
|
||||
import com.lagradost.cloudstream3.TvType
|
||||
import com.lagradost.cloudstream3.mvvm.observe
|
||||
|
@ -45,6 +48,19 @@ class PluginsFragment : Fragment() {
|
|||
pluginViewModel.languages = listOf()
|
||||
pluginViewModel.search(null)
|
||||
|
||||
// Filter by language set on preferred media
|
||||
activity?.let {
|
||||
val settingsManager = PreferenceManager.getDefaultSharedPreferences(it)
|
||||
val filter = settingsManager.getBoolean(getString(R.string.pref_filter_ext_by_lang_key), false)
|
||||
if (filter) {
|
||||
val providerLangs = it.getApiProviderLangSettings().toList()
|
||||
if (!providerLangs.contains(AllLanguagesName)) {
|
||||
pluginViewModel.languages = providerLangs
|
||||
//Log.i("DevDebug", "providerLang => ${pluginViewModel.languages.toJson()}")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val name = arguments?.getString(PLUGINS_BUNDLE_NAME)
|
||||
val url = arguments?.getString(PLUGINS_BUNDLE_URL)
|
||||
val isLocal = arguments?.getBoolean(PLUGINS_BUNDLE_LOCAL) == true
|
||||
|
|
|
@ -58,6 +58,7 @@
|
|||
<string name="pref_filter_search_quality_key" translatable="false">pref_filter_search_quality_key</string>
|
||||
<string name="enable_nsfw_on_providers_key" translatable="false">enable_nsfw_on_providers_key</string>
|
||||
<string name="enable_skip_op_from_database" translatable="false">enable_skip_op_from_database</string>
|
||||
<string name="pref_filter_ext_by_lang_key" translatable="false">pref_filter_ext_by_lang_key</string>
|
||||
|
||||
<!-- FORMAT MIGHT TRANSLATE, WILL CAUSE CRASH IF APPLIED WRONG -->
|
||||
<string name="extra_info_format" formatted="true" translatable="false">%d %s | %s</string>
|
||||
|
@ -448,6 +449,7 @@
|
|||
<string name="app_layout">App Layout</string>
|
||||
<string name="preferred_media_settings">Preferred media</string>
|
||||
<string name="enable_nsfw_on_providers">Enable NSFW on supported providers</string>
|
||||
<string name="filter_ext_by_preferred_lang">Filter Extension list by Preferred Language</string>
|
||||
<string name="subtitles_encoding">Subtitle encoding</string>
|
||||
<string name="category_providers">Providers</string>
|
||||
<string name="category_ui">Layout</string>
|
||||
|
|
|
@ -21,4 +21,9 @@
|
|||
android:icon="@drawable/ic_baseline_extension_24"
|
||||
android:summary="@string/apply_on_restart"
|
||||
app:defaultValue="false"/>
|
||||
<SwitchPreference
|
||||
android:key="@string/pref_filter_ext_by_lang_key"
|
||||
android:title="@string/filter_ext_by_preferred_lang"
|
||||
android:icon="@drawable/ic_baseline_extension_24"
|
||||
app:defaultValue="false"/>
|
||||
</PreferenceScreen>
|
Loading…
Reference in a new issue