From 884251c5fcca140a61e06fc11d6307cde14565dc Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 4 Jan 2020 08:43:39 +0100 Subject: [PATCH] Prevent crash --- .../java/eu/faircode/email/FragmentGmail.java | 41 +++++++++++-------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentGmail.java b/app/src/main/java/eu/faircode/email/FragmentGmail.java index f199b3dc77..6d5278314c 100644 --- a/app/src/main/java/eu/faircode/email/FragmentGmail.java +++ b/app/src/main/java/eu/faircode/email/FragmentGmail.java @@ -102,26 +102,31 @@ public class FragmentGmail extends FragmentBase { btnSelect.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - String name = etName.getText().toString().trim(); - if (TextUtils.isEmpty(name)) { - tvError.setText(R.string.title_no_name); + try { + grpError.setVisibility(View.GONE); + + String name = etName.getText().toString().trim(); + if (TextUtils.isEmpty(name)) + throw new IllegalArgumentException(getString(R.string.title_no_name)); + + startActivityForResult( + Helper.getChooser(getContext(), newChooseAccountIntent( + null, + null, + new String[]{"com.google"}, + false, + null, + null, + null, + null)), + ActivitySetup.REQUEST_CHOOSE_ACCOUNT); + } catch (Throwable ex) { + if (ex instanceof IllegalArgumentException) + tvError.setText(ex.getMessage()); + else + tvError.setText(Log.formatThrowable(ex, false)); grpError.setVisibility(View.VISIBLE); - return; } - - grpError.setVisibility(View.GONE); - - startActivityForResult( - Helper.getChooser(getContext(), newChooseAccountIntent( - null, - null, - new String[]{"com.google"}, - false, - null, - null, - null, - null)), - ActivitySetup.REQUEST_CHOOSE_ACCOUNT); } });