From fdfaf7357c69b6f39991b20e895c080d296dc891 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 21 Mar 2021 07:39:45 +0100 Subject: [PATCH] Prevent crash --- .../java/eu/faircode/email/AdapterAnswer.java | 3 +- app/src/main/java/eu/faircode/email/Core.java | 34 ++++++++++--------- .../email/FragmentDialogIdentity.java | 4 +++ 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterAnswer.java b/app/src/main/java/eu/faircode/email/AdapterAnswer.java index c4096adb8d..73b1964d87 100644 --- a/app/src/main/java/eu/faircode/email/AdapterAnswer.java +++ b/app/src/main/java/eu/faircode/email/AdapterAnswer.java @@ -219,7 +219,8 @@ public class AdapterAnswer extends RecyclerView.Adapter 0); + List identities = db.identity().getComposableIdentities(null); + return (identities != null && identities.size() > 0); } @Override diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index 6c8b7d3541..fe4ce51144 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -4386,22 +4386,24 @@ class Core { } } - if (notify_reply && message.content && - db.identity().getComposableIdentities(message.account).size() > 0) { - Intent reply = new Intent(context, ActivityCompose.class) - .putExtra("action", "reply") - .putExtra("reference", message.id) - .putExtra("group", group); - reply.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - PendingIntent piReply = PendingIntent.getActivity(context, ActivityCompose.PI_REPLY, reply, PendingIntent.FLAG_UPDATE_CURRENT); - NotificationCompat.Action.Builder actionReply = new NotificationCompat.Action.Builder( - R.drawable.twotone_reply_24, - context.getString(R.string.title_advanced_notify_action_reply), - piReply) - .setSemanticAction(NotificationCompat.Action.SEMANTIC_ACTION_REPLY) - .setShowsUserInterface(true) - .setAllowGeneratedReplies(false); - mbuilder.addAction(actionReply.build()); + if (notify_reply && message.content) { + List identities = db.identity().getComposableIdentities(message.account); + if (identities != null && identities.size() > 0) { + Intent reply = new Intent(context, ActivityCompose.class) + .putExtra("action", "reply") + .putExtra("reference", message.id) + .putExtra("group", group); + reply.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + PendingIntent piReply = PendingIntent.getActivity(context, ActivityCompose.PI_REPLY, reply, PendingIntent.FLAG_UPDATE_CURRENT); + NotificationCompat.Action.Builder actionReply = new NotificationCompat.Action.Builder( + R.drawable.twotone_reply_24, + context.getString(R.string.title_advanced_notify_action_reply), + piReply) + .setSemanticAction(NotificationCompat.Action.SEMANTIC_ACTION_REPLY) + .setShowsUserInterface(true) + .setAllowGeneratedReplies(false); + mbuilder.addAction(actionReply.build()); + } } if (notify_reply_direct && diff --git a/app/src/main/java/eu/faircode/email/FragmentDialogIdentity.java b/app/src/main/java/eu/faircode/email/FragmentDialogIdentity.java index 5994af82fe..6c78af7ff1 100644 --- a/app/src/main/java/eu/faircode/email/FragmentDialogIdentity.java +++ b/app/src/main/java/eu/faircode/email/FragmentDialogIdentity.java @@ -45,6 +45,7 @@ import androidx.preference.PreferenceManager; import com.google.android.material.floatingactionbutton.FloatingActionButton; +import java.util.ArrayList; import java.util.List; public class FragmentDialogIdentity extends FragmentDialogBase { @@ -133,6 +134,9 @@ public class FragmentDialogIdentity extends FragmentDialogBase { @Override protected void onExecuted(Bundle args, List identities) { + if (identities == null) + identities = new ArrayList<>(); + AdapterIdentitySelect iadapter = new AdapterIdentitySelect(getContext(), identities); spIdentity.setAdapter(iadapter);