mirror of
https://github.com/M66B/FairEmail.git
synced 2026-01-05 12:24:26 +01:00
Added known sender rule condition
This commit is contained in:
@@ -40,6 +40,7 @@ import android.widget.AdapterView;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.Button;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
@@ -89,6 +90,7 @@ public class FragmentRule extends FragmentBase {
|
||||
private EditText etSender;
|
||||
private CheckBox cbSender;
|
||||
private ImageView ibSender;
|
||||
private CheckBox cbKnownSender;
|
||||
|
||||
private EditText etRecipient;
|
||||
private CheckBox cbRecipient;
|
||||
@@ -192,6 +194,7 @@ public class FragmentRule extends FragmentBase {
|
||||
etSender = view.findViewById(R.id.etSender);
|
||||
cbSender = view.findViewById(R.id.cbSender);
|
||||
ibSender = view.findViewById(R.id.ibSender);
|
||||
cbKnownSender = view.findViewById(R.id.cbKnownSender);
|
||||
|
||||
etRecipient = view.findViewById(R.id.etRecipient);
|
||||
cbRecipient = view.findViewById(R.id.cbRecipient);
|
||||
@@ -252,6 +255,15 @@ public class FragmentRule extends FragmentBase {
|
||||
}
|
||||
});
|
||||
|
||||
cbKnownSender.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
etSender.setEnabled(!isChecked);
|
||||
ibSender.setEnabled(!isChecked);
|
||||
cbSender.setEnabled(!isChecked);
|
||||
}
|
||||
});
|
||||
|
||||
ibRecipient.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
@@ -628,6 +640,10 @@ public class FragmentRule extends FragmentBase {
|
||||
|
||||
etSender.setText(jsender == null ? args.getString("sender") : jsender.getString("value"));
|
||||
cbSender.setChecked(jsender != null && jsender.getBoolean("regex"));
|
||||
cbKnownSender.setChecked(jsender != null && jsender.optBoolean("known"));
|
||||
etSender.setEnabled(!cbKnownSender.isChecked());
|
||||
ibSender.setEnabled(!cbKnownSender.isChecked());
|
||||
cbSender.setEnabled(!cbKnownSender.isChecked());
|
||||
|
||||
etRecipient.setText(jrecipient == null ? args.getString("recipient") : jrecipient.getString("value"));
|
||||
cbRecipient.setChecked(jrecipient != null && jrecipient.getBoolean("regex"));
|
||||
@@ -877,10 +893,12 @@ public class FragmentRule extends FragmentBase {
|
||||
JSONObject jcondition = new JSONObject();
|
||||
|
||||
String sender = etSender.getText().toString();
|
||||
if (!TextUtils.isEmpty(sender)) {
|
||||
boolean known = cbKnownSender.isChecked();
|
||||
if (!TextUtils.isEmpty(sender) || known) {
|
||||
JSONObject jsender = new JSONObject();
|
||||
jsender.put("value", sender);
|
||||
jsender.put("regex", cbSender.isChecked());
|
||||
jsender.put("known", known);
|
||||
jcondition.put("sender", jsender);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user