diff --git a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
index 3f3384b8e..d1ee0ee88 100644
--- a/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
+++ b/app/src/main/java/org/schabi/newpipe/download/DownloadDialog.java
@@ -75,6 +75,7 @@ import java.io.IOException;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
+import java.util.Optional;
import icepick.Icepick;
import icepick.State;
@@ -560,6 +561,39 @@ public class DownloadDialog extends DialogFragment
selectedSubtitleIndex = position;
break;
}
+ onItemSelectedSetFileName();
+ }
+
+ private void onItemSelectedSetFileName() {
+ final String fileName = FilenameUtils.createFilename(getContext(), currentInfo.getName());
+ final String prevFileName = Optional.ofNullable(dialogBinding.fileName.getText())
+ .map(Object::toString)
+ .orElse("");
+
+ if (prevFileName.isEmpty()
+ || prevFileName.equals(fileName)
+ || prevFileName.startsWith(getString(R.string.caption_file_name, fileName, ""))) {
+ // only update the file name field if it was not edited by the user
+
+ switch (dialogBinding.videoAudioGroup.getCheckedRadioButtonId()) {
+ case R.id.audio_button:
+ case R.id.video_button:
+ if (!prevFileName.equals(fileName)) {
+ // since the user might have switched between audio and video, the correct
+ // text might already be in place, so avoid resetting the cursor position
+ dialogBinding.fileName.setText(fileName);
+ }
+ break;
+
+ case R.id.subtitle_button:
+ final String setSubtitleLanguageCode = subtitleStreamsAdapter
+ .getItem(selectedSubtitleIndex).getLanguageTag();
+ // this will reset the cursor position, which is bad UX, but it can't be avoided
+ dialogBinding.fileName.setText(getString(
+ R.string.caption_file_name, fileName, setSubtitleLanguageCode));
+ break;
+ }
+ }
}
@Override
diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml
index d28f794c0..09bf9080c 100644
--- a/app/src/main/res/values/donottranslate.xml
+++ b/app/src/main/res/values/donottranslate.xml
@@ -27,4 +27,5 @@
SoundCloud
@string/app_name
LeakCanary
+ %1$s-%2$s