diff --git a/app/src/main/java/eu/faircode/email/AdapterFolder.java b/app/src/main/java/eu/faircode/email/AdapterFolder.java index a252ab372b..01b9f9b665 100644 --- a/app/src/main/java/eu/faircode/email/AdapterFolder.java +++ b/app/src/main/java/eu/faircode/email/AdapterFolder.java @@ -68,10 +68,8 @@ import androidx.recyclerview.widget.RecyclerView; import com.google.android.material.snackbar.Snackbar; import java.text.NumberFormat; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; -import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -557,9 +555,6 @@ public class AdapterFolder extends RecyclerView.Adapter() { - @Override - protected void onPreExecute(Bundle args) { - ToastEx.makeText(getContext(), R.string.title_executing, Toast.LENGTH_LONG).show(); - } - - @Override - protected void onPostExecute(Bundle args) { - ToastEx.makeText(getContext(), R.string.title_completed, Toast.LENGTH_LONG).show(); - } - - @Override - protected Void onExecute(Context context, Bundle args) throws Throwable { - long fid = args.getLong("id"); - Uri uri = args.getParcelable("uri"); - - if (!"content".equals(uri.getScheme())) { - Log.w("Export uri=" + uri); - throw new IllegalArgumentException(context.getString(R.string.title_no_stream)); - } - - DB db = DB.getInstance(context); - List ids = db.message().getMessageIdsByFolder(fid); - if (ids == null) - ids = new ArrayList<>(); - - File tmp = new File(context.getCacheDir(), "export_" + fid + ".mbox"); - tmp.createNewFile(); - - System.setProperty("mail.mbox.locktype", "none"); - - Properties iprops = new Properties(); - Session isession = Session.getDefaultInstance(iprops); - isession.addProvider(new MboxProvider()); - - Store istore = isession.getStore("mbox"); - istore.connect(); - - try { - Folder ifolder = istore.getDefaultFolder().getFolder(tmp.getAbsolutePath()); - ifolder.open(Folder.READ_WRITE); - - for (long id : ids) { - EntityMessage message = db.message().getMessage(id); - if (message == null) - continue; - - Message imessage = MessageHelper.from(context, message, null, isession, false); - ifolder.appendMessages(new Message[]{imessage}); - } - - } finally { - istore.close(); - } - - ContentResolver resolver = context.getContentResolver(); - try (OutputStream out = resolver.openOutputStream(uri)) { - Helper.copy(new FileInputStream(tmp), out); - } - - if (!BuildConfig.DEBUG) - tmp.delete(); - - return null; - } - - @Override - protected void onException(Bundle args, Throwable ex) { - Log.unexpectedError(getParentFragmentManager(), ex); - } - }.execute(this, args, "folder:export"); - } - public static class FragmentDialogApply extends FragmentDialogBase { @NonNull @Override diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2958914c96..2843038317 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -788,7 +788,6 @@ Edit properties Edit rules Execute rules - Export messages Create notification channel Edit notification channel Delete notification channel