diff --git a/FAQ.md b/FAQ.md
index c71b08a967..2103a3cfb5 100644
--- a/FAQ.md
+++ b/FAQ.md
@@ -224,6 +224,7 @@ FairEmail follows all the best practices for an email client as decribed in [thi
* [(128) How can I reset asked questions, for example to show images?](#user-content-faq128)
* [(129) Is ProtonMail supported?](#user-content-faq129)
* [(130) What does message error ... mean?](#user-content-faq130)
+* [(131) Can you change the direction for swiping to previous/next message?](#user-content-faq131)
[I have another question.](#user-content-support)
@@ -2188,6 +2189,8 @@ ProtonMail uses a proprietary email protocol
and [does not directly support IMAP](https://protonmail.com/support/knowledge-base/imap-smtp-and-pop3-setup/),
so you cannot use FairEmail to access ProtonMail.
+
+
**(130) What does message error ... mean?**
@@ -2203,6 +2206,18 @@ The error will almost always include a reason. Common reasons are that the messa
Please see [here](#user-content-faq22) for other error messages in the outbox.
+
+
+
+**(131) Can you change the direction for swiping to previous/next message?**
+
+If you read from left to right, swiping to the left will show the next message.
+Similarly, if you read from right to left, swiping to the right will show the next message.
+
+This behavior seems quite natural to me.
+
+
+
## Support
If you have another question, want to request a feature or report a bug, you can use [this forum](https://forum.xda-developers.com/android/apps-games/source-email-t3824168).
diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java
index f1bc251a24..9d6bc93dae 100644
--- a/app/src/main/java/eu/faircode/email/FragmentMessages.java
+++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java
@@ -944,6 +944,8 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
if (swipenav) {
Log.i("Swipe navigation");
+ boolean ltr = (getContext().getResources().getConfiguration().getLayoutDirection() == View.LAYOUT_DIRECTION_LTR);
+
final SwipeListener swipeListener = new SwipeListener(getContext(), new SwipeListener.ISwipeListener() {
@Override
public boolean onSwipeRight() {
@@ -951,7 +953,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
Animation bounce = AnimationUtils.loadAnimation(getContext(), R.anim.bounce_right);
view.startAnimation(bounce);
} else
- navigate(previous, true);
+ navigate(previous, ltr);
return (previous != null);
}
@@ -962,7 +964,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
Animation bounce = AnimationUtils.loadAnimation(getContext(), R.anim.bounce_left);
view.startAnimation(bounce);
} else
- navigate(next, false);
+ navigate(next, !ltr);
return (next != null);
}