diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java
index f63fd3813a..05edae1905 100644
--- a/app/src/main/java/eu/faircode/email/FragmentMessages.java
+++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java
@@ -1345,6 +1345,14 @@ public class FragmentMessages extends FragmentBase
}
});
+ if (prefs.getBoolean("updown", false)) {
+ boolean reversed = prefs.getBoolean("reversed", false);
+ bottom_navigation.getMenu().findItem(R.id.action_prev)
+ .setIcon(reversed ? R.drawable.baseline_arrow_upward_24 : R.drawable.baseline_arrow_downward_24);
+ bottom_navigation.getMenu().findItem(R.id.action_next)
+ .setIcon(reversed ? R.drawable.baseline_arrow_downward_24 : R.drawable.baseline_arrow_upward_24);
+ }
+
bottom_navigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
diff --git a/app/src/main/java/eu/faircode/email/FragmentOptions.java b/app/src/main/java/eu/faircode/email/FragmentOptions.java
index 9adde48b8f..98bc139c97 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptions.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptions.java
@@ -154,7 +154,7 @@ public class FragmentOptions extends FragmentBase {
"background_color", "text_color", "text_size", "text_font", "text_align", "text_titles", "text_separators",
"collapse_quotes", "image_placeholders", "inline_images",
"seekbar", "actionbar", "actionbar_swap", "actionbar_color", "group_category",
- "autoscroll", "swipenav", "reversed", "swipe_close", "swipe_move", "autoexpand", "autoclose", "onclose",
+ "autoscroll", "swipenav", "updown", "reversed", "swipe_close", "swipe_move", "autoexpand", "autoclose", "onclose",
"auto_hide_answer", "swipe_reply",
"move_thread_all", "move_thread_sent",
"language_detection",
diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java b/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java
index b9fbad6fa3..5f7e1c57f7 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java
@@ -74,6 +74,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
private SwitchCompat swDoubleTap;
private SwitchCompat swSwipeNav;
private SwitchCompat swVolumeNav;
+ private SwitchCompat swUpDown;
private SwitchCompat swReversed;
private SwitchCompat swSwipeClose;
private SwitchCompat swSwipeMove;
@@ -116,7 +117,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
"restore_on_launch", "sync_on_launch", "double_back", "conversation_actions", "conversation_actions_replies", "language_detection",
"photo_picker", "default_snooze",
"pull", "pull_all", "autoscroll", "quick_filter", "quick_scroll", "quick_actions", "swipe_sensitivity", "foldernav",
- "doubletap", "swipenav", "volumenav", "reversed", "swipe_close", "swipe_move",
+ "doubletap", "swipenav", "volumenav", "updown", "reversed", "swipe_close", "swipe_move",
"autoexpand", "expand_first", "expand_all", "expand_one", "collapse_multiple",
"autoclose", "onclose", "autoclose_unseen", "autoclose_send", "collapse_marked",
"undo_timeout",
@@ -157,6 +158,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
swDoubleTap = view.findViewById(R.id.swDoubleTap);
swSwipeNav = view.findViewById(R.id.swSwipeNav);
swVolumeNav = view.findViewById(R.id.swVolumeNav);
+ swUpDown = view.findViewById(R.id.swUpDown);
swReversed = view.findViewById(R.id.swReversed);
swSwipeClose = view.findViewById(R.id.swSwipeClose);
swSwipeMove = view.findViewById(R.id.swSwipeMove);
@@ -371,6 +373,13 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
}
});
+ swUpDown.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("updown", checked).apply();
+ }
+ });
+
swReversed.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
@@ -694,6 +703,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
swDoubleTap.setChecked(prefs.getBoolean("doubletap", false));
swSwipeNav.setChecked(prefs.getBoolean("swipenav", true));
swVolumeNav.setChecked(prefs.getBoolean("volumenav", false));
+ swUpDown.setChecked(prefs.getBoolean("updown", false));
swReversed.setChecked(prefs.getBoolean("reversed", false));
swSwipeClose.setChecked(prefs.getBoolean("swipe_close", false));
swSwipeMove.setChecked(prefs.getBoolean("swipe_move", false));
diff --git a/app/src/main/res/layout/fragment_options_behavior.xml b/app/src/main/res/layout/fragment_options_behavior.xml
index d621a61052..888eba9906 100644
--- a/app/src/main/res/layout/fragment_options_behavior.xml
+++ b/app/src/main/res/layout/fragment_options_behavior.xml
@@ -446,6 +446,17 @@
app:layout_constraintTop_toBottomOf="@id/swSwipeNav"
app:switchPadding="12dp" />
+
+
Double tap to mark message read/unread
Swipe left/right to go to next/previous conversation
Volume up/down to go to next/previous conversation
+ Use up/down arrows for next/previous conversation
Reverse navigation direction
Swipe down to close conversation
Swipe up to move conversation