@@ -674,14 +674,13 @@ public class FileBackend {
         return FileUtils.getPath(mXmppConnectionService, uri);
     }
 
-    public void copyFileToDocumentFile(Context ctx, File file, DocumentFile df, String name) throws FileCopyException {
+    public void copyFileToDocumentFile(Context ctx, File file, DocumentFile df) throws FileCopyException {
         Log.d(
                 Config.LOGTAG,
-                "copy file (" + file + ") to " + df + " / " + name);
-        final DocumentFile dff = df.createFile(MimeUtils.guessMimeTypeFromUri(ctx, getUriForFile(ctx, file)), name);
+                "copy file (" + file + ") to " + df);
         try (final InputStream is = new FileInputStream(file);
                 final OutputStream os =
-                        mXmppConnectionService.getContentResolver().openOutputStream(dff.getUri())) {
+                        mXmppConnectionService.getContentResolver().openOutputStream(df.getUri())) {
             if (is == null) {
                 throw new FileCopyException(R.string.error_file_not_found);
             }
  
  
  
    
    @@ -138,6 +138,7 @@ import eu.siacs.conversations.utils.AccountUtils;
 import eu.siacs.conversations.utils.Compatibility;
 import eu.siacs.conversations.utils.GeoHelper;
 import eu.siacs.conversations.utils.MessageUtils;
+import eu.siacs.conversations.utils.MimeUtils;
 import eu.siacs.conversations.utils.NickValidityChecker;
 import eu.siacs.conversations.utils.Patterns;
 import eu.siacs.conversations.utils.PermissionUtils;
@@ -215,7 +216,6 @@ public class ConversationFragment extends XmppFragment
     private boolean reInitRequiredOnStart = true;
     private int identiconWidth = -1;
     private File savingAsSticker = null;
-    private String savingAsStickerName = null;
     private final OnClickListener clickToMuc =
             new OnClickListener() {
 
@@ -997,22 +997,15 @@ public class ConversationFragment extends XmppFragment
     private void handlePositiveActivityResult(int requestCode, final Intent data) {
         switch (requestCode) {
             case REQUEST_SAVE_STICKER:
-                final DocumentFile df = DocumentFile.fromTreeUri(activity, data.getData());
+                final DocumentFile df = DocumentFile.fromSingleUri(activity, data.getData());
                 final File f = savingAsSticker;
-                final String existingName = savingAsStickerName;
                 savingAsSticker = null;
-                savingAsStickerName = null;
-                activity.quickEdit(existingName, (name) -> {
-                    try {
-                        activity.xmppConnectionService.getFileBackend().copyFileToDocumentFile(activity, f, df, name);
-                    } catch (final FileBackend.FileCopyException e) {
-                        Toast.makeText(activity, e.getResId(), Toast.LENGTH_SHORT).show();
-                        return null;
-                    }
-
+                try {
+                    activity.xmppConnectionService.getFileBackend().copyFileToDocumentFile(activity, f, df);
                     Toast.makeText(activity, "Sticker saved", Toast.LENGTH_SHORT).show();
-                    return null;
-                }, R.string.sticker_name, false, false, true);
+                } catch (final FileBackend.FileCopyException e) {
+                    Toast.makeText(activity, e.getResId(), Toast.LENGTH_SHORT).show();
+                }
                 break;
             case REQUEST_TRUST_KEYS_TEXT:
                 sendMessage();
@@ -2377,9 +2370,11 @@ public class ConversationFragment extends XmppFragment
 
     private void saveAsSticker(final File file, final String name) {
         savingAsSticker = file;
-        savingAsStickerName = name;
 
-        Intent intent = ((StorageManager) activity.getSystemService(Context.STORAGE_SERVICE)).getPrimaryStorageVolume().createOpenDocumentTreeIntent();
+        Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
+        intent.addCategory(Intent.CATEGORY_OPENABLE);
+        intent.setType(MimeUtils.guessMimeTypeFromUri(activity, activity.xmppConnectionService.getFileBackend().getUriForFile(activity, file)));
+        intent.putExtra(Intent.EXTRA_TITLE, name);
 
         SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(activity);
         final String dir = p.getString("sticker_directory", "Stickers");
@@ -2387,7 +2382,8 @@ public class ConversationFragment extends XmppFragment
             intent.putExtra("android.provider.extra.INITIAL_URI", Uri.parse(dir));
         } else {
             new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/" + dir + "/User Pack").mkdirs();
-            Uri uri = intent.getParcelableExtra("android.provider.extra.INITIAL_URI");
+            Intent tmp = ((StorageManager) activity.getSystemService(Context.STORAGE_SERVICE)).getPrimaryStorageVolume().createOpenDocumentTreeIntent();
+            Uri uri = tmp.getParcelableExtra("android.provider.extra.INITIAL_URI");
             intent.putExtra("android.provider.extra.INITIAL_URI", Uri.parse(uri.toString().replace("/root/", "/document/") + "%3APictures%2F" + dir));
         }