mirror of https://github.com/M66B/FairEmail.git
Added header condition helper
This commit is contained in:
parent
07d4b2b29b
commit
d999267519
|
@ -76,7 +76,9 @@ import java.text.DateFormat;
|
||||||
import java.text.DateFormatSymbols;
|
import java.text.DateFormatSymbols;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class FragmentRule extends FragmentBase {
|
public class FragmentRule extends FragmentBase {
|
||||||
|
@ -108,6 +110,7 @@ public class FragmentRule extends FragmentBase {
|
||||||
private EditText etMimeType;
|
private EditText etMimeType;
|
||||||
|
|
||||||
private EditText etHeader;
|
private EditText etHeader;
|
||||||
|
private ImageButton ibHeader;
|
||||||
private CheckBox cbHeader;
|
private CheckBox cbHeader;
|
||||||
|
|
||||||
private EditText etBody;
|
private EditText etBody;
|
||||||
|
@ -211,6 +214,27 @@ public class FragmentRule extends FragmentBase {
|
||||||
private final static int REQUEST_DATE_BEFORE = 12;
|
private final static int REQUEST_DATE_BEFORE = 12;
|
||||||
private final static int REQUEST_FOLDER = 13;
|
private final static int REQUEST_FOLDER = 13;
|
||||||
|
|
||||||
|
private static final List<String> HEADER_CONDITIONS = Collections.unmodifiableList(Arrays.asList(
|
||||||
|
"$$seen$",
|
||||||
|
"$$answered$",
|
||||||
|
"$$flagged$",
|
||||||
|
"$$deleted$",
|
||||||
|
"$$tls$",
|
||||||
|
"$$dkim$",
|
||||||
|
"$$spf$",
|
||||||
|
"$$dmarc$",
|
||||||
|
"$$mx$",
|
||||||
|
"$$blocklist$",
|
||||||
|
"$$replydomain$",
|
||||||
|
"$$nofrom$",
|
||||||
|
"$$multifrom$",
|
||||||
|
"$$automatic$",
|
||||||
|
"$$lowpriority$",
|
||||||
|
"$$highpriority$",
|
||||||
|
"$$signed$",
|
||||||
|
"$$encrypted$"
|
||||||
|
));
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
@ -267,6 +291,7 @@ public class FragmentRule extends FragmentBase {
|
||||||
etMimeType = view.findViewById(R.id.etMimeType);
|
etMimeType = view.findViewById(R.id.etMimeType);
|
||||||
|
|
||||||
etHeader = view.findViewById(R.id.etHeader);
|
etHeader = view.findViewById(R.id.etHeader);
|
||||||
|
ibHeader = view.findViewById(R.id.ibHeader);
|
||||||
cbHeader = view.findViewById(R.id.cbHeader);
|
cbHeader = view.findViewById(R.id.cbHeader);
|
||||||
|
|
||||||
etBody = view.findViewById(R.id.etBody);
|
etBody = view.findViewById(R.id.etBody);
|
||||||
|
@ -382,6 +407,26 @@ public class FragmentRule extends FragmentBase {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
ibHeader.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
PopupMenuLifecycle popupMenu = new PopupMenuLifecycle(v.getContext(), getViewLifecycleOwner(), v);
|
||||||
|
|
||||||
|
for (int i = 0; i < HEADER_CONDITIONS.size(); i++)
|
||||||
|
popupMenu.getMenu().add(Menu.NONE, i + 1, i + 1, HEADER_CONDITIONS.get(i));
|
||||||
|
|
||||||
|
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onMenuItemClick(MenuItem item) {
|
||||||
|
etHeader.setText(item.getTitle());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
popupMenu.show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
tvDateAfter.setText("-");
|
tvDateAfter.setText("-");
|
||||||
tvDateBefore.setText("-");
|
tvDateBefore.setText("-");
|
||||||
|
|
||||||
|
|
|
@ -419,7 +419,18 @@
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/cbHeader"
|
app:layout_constraintBottom_toBottomOf="@+id/cbHeader"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/cbHeader"
|
app:layout_constraintEnd_toStartOf="@+id/cbHeader"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@+id/cbHeader" />
|
app:layout_constraintTop_toTopOf="@+id/ibHeader" />
|
||||||
|
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/ibHeader"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="6dp"
|
||||||
|
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@+id/cbHeader"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/cbHeader"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/cbHeader"
|
||||||
|
app:srcCompat="@drawable/twotone_filter_alt_24" />
|
||||||
|
|
||||||
<CheckBox
|
<CheckBox
|
||||||
android:id="@+id/cbHeader"
|
android:id="@+id/cbHeader"
|
||||||
|
|
Loading…
Reference in New Issue