diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 2f5d8274dd..6dfa19993c 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -1936,6 +1936,19 @@ public class AdapterMessage extends RecyclerView.Adapter 0) + rule.putExtra("sender", ((InternetAddress) data.message.from[0]).getAddress()); + if (!TextUtils.isEmpty(data.message.subject)) + rule.putExtra("subject", data.message.subject); + + LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(context); + lbm.sendBroadcast(rule); + } + private void onMenuShare(ActionData data) { Bundle args = new Bundle(); args.putLong("id", data.message.id); @@ -2270,6 +2283,9 @@ public class AdapterMessage extends RecyclerView.Adapter() { @Override @@ -336,9 +345,9 @@ public class FragmentRule extends FragmentBase { etOrder.setText(rule == null ? null : Integer.toString(rule.order)); cbEnabled.setChecked(rule == null || rule.enabled); cbStop.setChecked(rule != null && rule.stop); - etSender.setText(jsender == null ? null : jsender.getString("value")); + etSender.setText(jsender == null ? args.getString("sender") : jsender.getString("value")); cbSender.setChecked(jsender != null && jsender.getBoolean("regex")); - etSubject.setText(jsubject == null ? null : jsubject.getString("value")); + etSubject.setText(jsubject == null ? args.getString("subject") : jsubject.getString("value")); cbSubject.setChecked(jsubject != null && jsubject.getBoolean("regex")); etHeader.setText(jheader == null ? null : jheader.getString("value")); cbHeader.setChecked(jheader != null && jheader.getBoolean("regex")); diff --git a/app/src/main/res/layout/fragment_rule.xml b/app/src/main/res/layout/fragment_rule.xml index 5a5a94a9cb..313616a0e4 100644 --- a/app/src/main/res/layout/fragment_rule.xml +++ b/app/src/main/res/layout/fragment_rule.xml @@ -20,14 +20,24 @@ android:layout_height="wrap_content" android:padding="12dp"> + + + app:layout_constraintTop_toBottomOf="@id/tvFolder" /> + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1d70607128..a5a80635f7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -318,6 +318,7 @@ Remove star Forward Reply to all + Create rule … Share Show headers Download raw message