diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
index eb14f89a..5740639a 100644
--- a/.idea/assetWizardSettings.xml
+++ b/.idea/assetWizardSettings.xml
@@ -320,7 +320,7 @@
@@ -330,7 +330,7 @@
diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/settings/SettingsFragment.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/settings/SettingsFragment.kt
index dd814029..9a827700 100644
--- a/app/src/main/java/com/deniscerri/ytdlnis/ui/settings/SettingsFragment.kt
+++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/settings/SettingsFragment.kt
@@ -33,6 +33,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
private var audioQuality: SeekBarPreference? = null
private var videoQuality: ListPreference? = null
private var updateYTDL: Preference? = null
+ private var updateNightlyYTDL: SwitchPreferenceCompat? = null
private var updateApp: SwitchPreferenceCompat? = null
private var version: Preference? = null
private var updateUtil: UpdateUtil? = null
@@ -69,6 +70,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
audioQuality = findPreference("audio_quality")
videoQuality = findPreference("video_quality")
updateYTDL = findPreference("update_ytdl")
+ updateNightlyYTDL = findPreference("nightly_ytdl")
updateApp = findPreference("update_app")
version = findPreference("version")
version!!.summary = BuildConfig.VERSION_NAME
@@ -97,6 +99,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
editor.putString("video_format", videoFormat!!.value)
editor.putInt("audio_quality", audioQuality!!.value)
editor.putString("video_quality", videoQuality!!.value)
+ editor.putBoolean("nightly_ytdl", updateNightlyYTDL!!.isChecked)
editor.putBoolean("update_app", updateApp!!.isChecked)
editor.apply()
}
@@ -252,6 +255,13 @@ class SettingsFragment : PreferenceFragmentCompat() {
updateUtil!!.updateYoutubeDL()
true
}
+ updateNightlyYTDL!!.onPreferenceChangeListener =
+ Preference.OnPreferenceChangeListener { _: Preference?, newValue: Any ->
+ val enable = newValue as Boolean
+ editor.putBoolean("nightly_ytdl", enable)
+ editor.apply()
+ true
+ }
updateApp!!.onPreferenceChangeListener =
Preference.OnPreferenceChangeListener { _: Preference?, newValue: Any ->
val enable = newValue as Boolean
diff --git a/app/src/main/java/com/deniscerri/ytdlnis/util/UpdateUtil.kt b/app/src/main/java/com/deniscerri/ytdlnis/util/UpdateUtil.kt
index 918fdda9..8526bdb0 100644
--- a/app/src/main/java/com/deniscerri/ytdlnis/util/UpdateUtil.kt
+++ b/app/src/main/java/com/deniscerri/ytdlnis/util/UpdateUtil.kt
@@ -1,5 +1,6 @@
package com.deniscerri.ytdlnis.util
+import android.app.Activity
import android.app.DownloadManager
import android.content.Context
import android.content.DialogInterface
@@ -29,6 +30,7 @@ class UpdateUtil(var context: Context) {
private val tag = "UpdateUtil"
private val downloadManager: DownloadManager = context.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
private val compositeDisposable = CompositeDisposable()
+ private val ytdlpNightly = "https://api.github.com/repos/ytdl-patched/yt-dlp/releases/latest"
fun updateApp(): Boolean {
if (updatingApp) {
@@ -140,6 +142,8 @@ class UpdateUtil(var context: Context) {
}
fun updateYoutubeDL() {
+ val sharedPreferences =
+ context.getSharedPreferences("root_preferences", Activity.MODE_PRIVATE)
if (updatingYTDL) {
Toast.makeText(
context,
@@ -156,7 +160,7 @@ class UpdateUtil(var context: Context) {
updatingYTDL = true
val disposable = Observable.fromCallable {
YoutubeDL.getInstance().updateYoutubeDL(
- context
+ context, if (sharedPreferences.getBoolean("nightly_ytdl", false) ) ytdlpNightly else null
)
}
.subscribeOn(Schedulers.newThread())
diff --git a/app/src/main/res/drawable/ic_nightly.xml b/app/src/main/res/drawable/ic_nightly.xml
new file mode 100644
index 00000000..49881800
--- /dev/null
+++ b/app/src/main/res/drawable/ic_nightly.xml
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 7debea7c..0dbdd857 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -14,7 +14,7 @@
Video Folder
Updating
Useful if you have problems downloading
- Install new version of youtube-dl
+ Install new version of yt-dlp
About
Source Code
Search from YouTube
@@ -166,4 +166,5 @@
Logs
Commands
Date added
+ Download Nightly Version of yt-dlp
\ No newline at end of file
diff --git a/app/src/main/res/xml/root_preferences.xml b/app/src/main/res/xml/root_preferences.xml
index a8d77d3d..022eee8c 100644
--- a/app/src/main/res/xml/root_preferences.xml
+++ b/app/src/main/res/xml/root_preferences.xml
@@ -171,6 +171,13 @@
app:summary="@string/ytdl_update_hint"
app:title="@string/update_ytdl" />
+
+