diff --git a/app/src/main/java/com/deniscerri/ytdl/ui/adapter/FormatAdapter.kt b/app/src/main/java/com/deniscerri/ytdl/ui/adapter/FormatAdapter.kt
index 6097af37..71fe17b1 100644
--- a/app/src/main/java/com/deniscerri/ytdl/ui/adapter/FormatAdapter.kt
+++ b/app/src/main/java/com/deniscerri/ytdl/ui/adapter/FormatAdapter.kt
@@ -54,12 +54,8 @@ class FormatAdapter(onItemClickListener: OnItemClickListener, activity: Activity
}
override fun getItemViewType(position: Int): Int {
- try {
- val isLabel = formats[position]!!.label != null
- return if (isLabel) 0 else 1
- }catch (err: Exception) {
- return 1
- }
+ val item = formats.getOrNull(position)
+ return if (item?.label != null) 0 else 1
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
@@ -92,8 +88,8 @@ class FormatAdapter(onItemClickListener: OnItemClickListener, activity: Activity
return
}
- val item = itm.format!!
- val card = holder.item!!
+ val item = itm.format ?: return
+ val card = holder.item ?: return
//card.popup()
UiUtil.populateFormatCard(activity, card, item)
card.isChecked = selectedVideoFormat == item || selectedAudioFormats.any { it == item }
diff --git a/app/src/main/java/com/deniscerri/ytdl/util/extractors/ytdlp/YTDLPUtil.kt b/app/src/main/java/com/deniscerri/ytdl/util/extractors/ytdlp/YTDLPUtil.kt
index 01ea0e4f..96d5901b 100644
--- a/app/src/main/java/com/deniscerri/ytdl/util/extractors/ytdlp/YTDLPUtil.kt
+++ b/app/src/main/java/com/deniscerri/ytdl/util/extractors/ytdlp/YTDLPUtil.kt
@@ -688,12 +688,17 @@ class YTDLPUtil(private val context: Context, private val commandTemplateDao: Co
if (playerClients.isNotEmpty()){
extractorArgs.add("player_client=${playerClients.joinToString(",")}")
+ }else{
+ //TODO DISCUSS
+ //extractorArgs.add("player_client=default,-web,-web-safari,-android,-ios,-tv")
}
if (poTokens.isNotEmpty() && sharedPreferences.getBoolean("use_cookies", false)) {
extractorArgs.add("po_token=${poTokens.joinToString(",")}")
}
+ //extractorArgs.add("skip=translated_subs")
+
val useLanguageForMetadata = sharedPreferences.getBoolean("use_app_language_for_metadata", true)
if (useLanguageForMetadata) {
val lang = java.util.Locale.getDefault().language
@@ -853,6 +858,11 @@ class YTDLPUtil(private val context: Context, private val commandTemplateDao: Co
request.addOption("--proxy", proxy)
}
+ val updateYTDLP = sharedPreferences.getBoolean("update_ytdlp_while_downloading", false)
+ if (updateYTDLP) {
+ request.addOption("-U")
+ }
+
val keepCache = sharedPreferences.getBoolean("keep_cache", false)
if(keepCache){
request.addOption("--keep-fragments")
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index cdc9af69..f2402f62 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -502,4 +502,6 @@
Chapters
Use original url for playlist url
Use playlist url given by user instead of the playlist_webpage_url tag from the json dump
+ Update yt-dlp while downloading
+ Add -U to yt-dlp to update it to latest before downloading
diff --git a/app/src/main/res/xml/updating_preferences.xml b/app/src/main/res/xml/updating_preferences.xml
index 1b1dd8f1..41384a53 100644
--- a/app/src/main/res/xml/updating_preferences.xml
+++ b/app/src/main/res/xml/updating_preferences.xml
@@ -2,10 +2,6 @@
-
@@ -34,10 +30,23 @@
android:key="auto_update_ytdlp"
app:title="@string/auto_update_ytdlp" />
+
+
+
+
-