From 1355a5434932b93a3bea3a5fe46e41b856402c6b Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 15 Mar 2023 09:19:20 +0100 Subject: [PATCH] Debug: direct calendar insert --- .../eu/faircode/email/AdapterMessage.java | 14 +++++ .../eu/faircode/email/FragmentMessages.java | 57 +++++++++++++++++++ .../java/eu/faircode/email/MessageHelper.java | 3 + 3 files changed, 74 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index ff865eb96b..53d8f76623 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -3691,6 +3691,20 @@ public class AdapterMessage extends RecyclerView.Adapter() { + @Override + protected Void onExecute(Context context, Bundle args) throws Throwable { + long id = args.getLong("message"); + int status = args.getInt("status"); + String selectedAccount = args.getString("account"); + String selectedName = args.getString("name"); + + DB db = DB.getInstance(context); + EntityMessage message = db.message().getMessage(id); + if (message == null) + return null; + + List attachments = db.attachment().getAttachments(message.id); + if (attachments == null) + return null; + + EntityAttachment calendar = null; + for (EntityAttachment attachment : attachments) + if (attachment.available && + "text/calendar".equals(attachment.getMimeType())) + calendar = attachment; + + if (calendar == null) + return null; + + ICalendar icalendar = Biweekly.parse(calendar.getFile(context)).first(); + VEvent event = icalendar.getEvents().get(0); + + CalendarHelper.insert(context, icalendar, event, status, + selectedAccount, selectedName, message); + + return null; + } + + @Override + protected void onExecuted(Bundle args, Void data) { + ToastEx.makeText(getContext(), R.string.title_completed, Toast.LENGTH_LONG).show(); + } + + @Override + protected void onException(Bundle args, Throwable ex) { + Log.unexpectedError(getParentFragmentManager(), ex); + } + }.execute(this, args, "insert:calendar"); + } + private void onMoveAskAcross(final ArrayList result) { boolean across = false; for (MessageTarget target : result) diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index b4dc725c64..87cf463eb0 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -4045,6 +4045,9 @@ public class MessageHelper { } private void decodeICalendar(Context context, EntityAttachment local) { + if (BuildConfig.DEBUG) + return; + DB db = DB.getInstance(context); try { boolean permission = Helper.hasPermission(context, Manifest.permission.WRITE_CALENDAR);