From 35ebc3db89e21325e865e0d5e43dd5678f69d97a Mon Sep 17 00:00:00 2001
From: ripdog <[EMAIL REDACTED]>
Date: Sun, 21 Jun 2026 18:20:59 +1200
Subject: [PATCH] Android: honor suggested filename in ShowSaveFileDialog
---
.../src/main/java/org/libsdl/app/SDLActivity.java | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java b/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java
index 1f15b4f719cc1..b2c0b517a398e 100644
--- a/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java
+++ b/android-project/app/src/main/java/org/libsdl/app/SDLActivity.java
@@ -2254,6 +2254,19 @@ public static boolean showFileDialog(String[] filters, boolean allowMultiple,
intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, initialPathUri);
}
+ /* Handle a suggested filename when saving */
+ if (type == SDL_FILEDIALOG_SAVEFILE && initialPath != null && !initialPath.isEmpty() &&
+ !initialPath.endsWith("/") && !initialPath.endsWith("\\")) {
+ String title = initialPath;
+ int lastSeparator = Math.max(title.lastIndexOf('/'), title.lastIndexOf('\\'));
+ if (lastSeparator >= 0) {
+ title = title.substring(lastSeparator + 1);
+ }
+ if (!title.isEmpty()) {
+ intent.putExtra(Intent.EXTRA_TITLE, title);
+ }
+ }
+
/* Display the file/folder dialog */
try {
mSingleton.startActivityForResult(intent, requestCode);