From 06359174c56f8f8e6e32f0347306d77a5f2356ff Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 27 Jun 2020 22:46:21 +0200 Subject: [PATCH] Show send dialog as fix for no public key --- .../eu/faircode/email/FragmentCompose.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 4cedaaf512..a723590a03 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -2619,16 +2619,22 @@ public class FragmentCompose extends FragmentBase { protected void onException(Bundle args, Throwable ex) { if (ex instanceof IllegalArgumentException) { Log.i(ex); - Snackbar snackbar = Snackbar.make(view, ex.getMessage(), Snackbar.LENGTH_LONG); - if (ex.getCause() instanceof CertificateException) - snackbar.setAction(R.string.title_fix, new View.OnClickListener() { - @Override - public void onClick(View v) { + Snackbar snackbar = Snackbar.make(view, ex.getMessage(), Snackbar.LENGTH_INDEFINITE); + snackbar.setAction(R.string.title_fix, new View.OnClickListener() { + @Override + public void onClick(View v) { + if (ex.getCause() instanceof CertificateException) startActivity( new Intent(getContext(), ActivitySetup.class) .putExtra("tab", "encryption")); + else { + FragmentDialogSend fragment = new FragmentDialogSend(); + fragment.setArguments(args); + fragment.setTargetFragment(FragmentCompose.this, REQUEST_SEND); + fragment.show(getParentFragmentManager(), "compose:send"); } - }); + } + }); snackbar.show(); } else Log.unexpectedError(getParentFragmentManager(), ex);