diff --git a/app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java b/app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java
index daa7158c..d0796bfa 100644
--- a/app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java
+++ b/app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java
@@ -311,6 +311,8 @@ public class DownloaderService extends Service {
}
request.addOption("--no-mtime");
+ video.setTitle(video.getTitle().replaceAll(":|'|\"|[.]|,", ""));
+ video.setAuthor(video.getAuthor().replaceAll(":|'|\"|[.]|,", ""));
if (type.equals("audio")) {
request.addOption("-x");
@@ -355,13 +357,16 @@ public class DownloaderService extends Service {
String videoQuality = video.getVideoQuality();
if (videoQuality == null) videoQuality = sharedPreferences.getString("video_quality", "");
String formatArgument = "bestvideo+bestaudio/best";
- if (!videoQuality.isEmpty() && !videoQuality.equals("Best Quality")) {
+ if(videoQuality.equals("Worst Quality")){
+ formatArgument = "worst";
+ }else if (!videoQuality.isEmpty() && !videoQuality.equals("Best Quality")) {
formatArgument = "bestvideo[height<="+videoQuality.substring(0, videoQuality.length()-1)+"]+bestaudio/best";
}
+
request.addOption("-f", formatArgument);
String format = video.getVideoFormat();
if (format == null) format = sharedPreferences.getString("video_format", "");
- request.addOption("--merge-output-format", format);
+ if(!format.equals("DEFAULT")) request.addOption("--merge-output-format", format);
if(!format.equals("webm")){
boolean embedThumb = sharedPreferences.getBoolean("embed_thumbnail", false);
@@ -369,7 +374,7 @@ public class DownloaderService extends Service {
request.addOption("--embed-thumbnail");
}
}
- request.addOption("-o", youtubeDLDir.getAbsolutePath() + "/"+video.getTitle()+"."+format);
+ request.addOption("-o", youtubeDLDir.getAbsolutePath() + "/"+video.getAuthor() + " - " + video.getTitle()+"."+format);
}
Disposable disposable = Observable.fromCallable(() -> YoutubeDL.getInstance().execute(request, downloadProcessID, callback))
diff --git a/app/src/main/java/com/deniscerri/ytdlnis/page/HomeFragment.java b/app/src/main/java/com/deniscerri/ytdlnis/page/HomeFragment.java
index df3957b5..dfc24a0a 100644
--- a/app/src/main/java/com/deniscerri/ytdlnis/page/HomeFragment.java
+++ b/app/src/main/java/com/deniscerri/ytdlnis/page/HomeFragment.java
@@ -635,6 +635,10 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On
String[] audioFormats = context.getResources().getStringArray(R.array.music_formats);
TextInputLayout audioFormat = bottomSheet.findViewById(R.id.audio_format);
+ AutoCompleteTextView autoCompleteTextView = bottomSheet.findViewById(R.id.audio_format_textview);
+ String preference = sharedPreferences.getString("audio_format", "mp3");
+ autoCompleteTextView.setText(preference, false);
+
((AutoCompleteTextView)audioFormat.getEditText()).setOnItemClickListener((adapterView, view, i, l) -> {
vid.setAudioFormat(audioFormats[i]);
editor.putString("audio_format", vid.getAudioFormat());
@@ -664,6 +668,10 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On
String[] videoQualities = context.getResources().getStringArray(R.array.video_quality);
TextInputLayout videoFormat = bottomSheet.findViewById(R.id.video_format);
+ AutoCompleteTextView autoCompleteTextView = bottomSheet.findViewById(R.id.video_format_textview);
+ String preference = sharedPreferences.getString("video_format", "webm");
+ autoCompleteTextView.setText(preference, false);
+
((AutoCompleteTextView)videoFormat.getEditText()).setOnItemClickListener((adapterView, view, i, l) -> {
vid.setVideoFormat(videoFormats[i]);
editor.putString("video_format", vid.getVideoFormat());
@@ -671,6 +679,9 @@ public class HomeFragment extends Fragment implements HomeRecyclerViewAdapter.On
});
TextInputLayout videoQuality = bottomSheet.findViewById(R.id.video_quality);
+ autoCompleteTextView = bottomSheet.findViewById(R.id.video_quality_textview);
+ preference = sharedPreferences.getString("video_quality", "Best Quality");
+ autoCompleteTextView.setText(preference, false);
((AutoCompleteTextView)videoQuality.getEditText()).setOnItemClickListener((adapterView, view, i, l) -> {
vid.setVideoQuality(videoQualities[i]);
editor.putString("video_quality", vid.getVideoQuality());
diff --git a/app/src/main/res/layout/fragment_more.xml b/app/src/main/res/layout/fragment_more.xml
index 469c74d4..bdb563f7 100644
--- a/app/src/main/res/layout/fragment_more.xml
+++ b/app/src/main/res/layout/fragment_more.xml
@@ -43,7 +43,7 @@
tools:ignore="MissingConstraints">
diff --git a/app/src/main/res/layout/home_download_audio_bottom_sheet.xml b/app/src/main/res/layout/home_download_audio_bottom_sheet.xml
index 823b506c..aa4c1211 100644
--- a/app/src/main/res/layout/home_download_audio_bottom_sheet.xml
+++ b/app/src/main/res/layout/home_download_audio_bottom_sheet.xml
@@ -95,6 +95,7 @@
android:hint="@string/audio_format">
+ - DEFAULT
- mp4
- mkv
- webm
@@ -24,6 +25,7 @@
- 720p
- 480p
- 360p
+ - Worst Quality
\ 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 0c62a1d0..72ebc0ae 100644
--- a/app/src/main/res/xml/root_preferences.xml
+++ b/app/src/main/res/xml/root_preferences.xml
@@ -124,7 +124,7 @@
android:entryValues="@array/video_formats"
android:icon="@drawable/ic_code"
app:key="video_format"
- app:summary="mkv"
+ app:summary="DEFAULT"
app:title="@string/video_format" />
diff --git a/build.gradle b/build.gradle
index 4402be6e..7c5a4579 100644
--- a/build.gradle
+++ b/build.gradle
@@ -17,7 +17,7 @@ buildscript {
def versionMajor = 1
def versionMinor = 4
-def versionPatch = 3
+def versionPatch = 5
def versionBuild = 0 // bump for dogfood builds, public betas, etc.
ext {