SDL: Android: honor suggested filename in ShowSaveFileDialog

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);