diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java
index 6bda85daf4..d8014e05ae 100644
--- a/app/src/main/java/eu/faircode/email/ActivityView.java
+++ b/app/src/main/java/eu/faircode/email/ActivityView.java
@@ -177,16 +177,18 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
Configuration config = getResources().getConfiguration();
final boolean normal = config.isLayoutSizeAtLeast(Configuration.SCREENLAYOUT_SIZE_NORMAL);
final boolean portrait2 = prefs.getBoolean("portrait2", false);
+ final boolean portrait2c = prefs.getBoolean("portrait2c", false);
final boolean portrait3 = prefs.getBoolean("portrait3", false);
final boolean landscape = prefs.getBoolean("landscape", true);
final boolean landscape3 = prefs.getBoolean("landscape3", true);
- Log.i("Orientation=" + config.orientation +
- " normal=" + normal +
- " portrait=" + portrait2 + "/" + portrait3 +
- " landscape=" + landscape + "/" + landscape3);
+ Log.i("Orientation=" + config.orientation + " normal=" + normal +
+ " portrait 2=" + portrait2 + " 2c=" + portrait2c + " nav=" + portrait3 +
+ " landscape 2=" + landscape + " nav=" + landscape3);
int viewId;
- if (config.orientation == ORIENTATION_PORTRAIT || !normal || !landscape)
+ if (config.orientation == ORIENTATION_PORTRAIT && portrait2c)
+ viewId = R.layout.activity_view_landscape_split;
+ else if (config.orientation == ORIENTATION_PORTRAIT || !(normal && landscape))
viewId = (portrait2 ? R.layout.activity_view_portrait_split : R.layout.activity_view_portrait);
else
viewId = R.layout.activity_view_landscape_split;
diff --git a/app/src/main/java/eu/faircode/email/FragmentOptions.java b/app/src/main/java/eu/faircode/email/FragmentOptions.java
index 423ada91dd..c7e6750021 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptions.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptions.java
@@ -108,7 +108,7 @@ public class FragmentOptions extends FragmentBase {
"subscriptions",
"check_authentication", "check_reply_domain", "check_mx", "check_blocklist",
"send_pending",
- "portrait2", "portrait3", "landscape", "landscape3", "nav_count", "startup",
+ "portrait2", "portrait2c", "portrait3", "landscape", "landscape3", "nav_count", "startup",
"cards", "beige", "tabular_card_bg", "shadow_unread",
"indentation", "date", "date_bold", "threading", "threading_unread",
"highlight_unread", "highlight_color", "color_stripe",
diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java
index abac80993f..a4b36dc276 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java
@@ -68,6 +68,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
private SwitchCompat swDateBold;
private SwitchCompat swNavBarColorize;
private SwitchCompat swPortrait2;
+ private SwitchCompat swPortrait2c;
private SwitchCompat swPortrait3;
private SwitchCompat swLandscape;
private SwitchCompat swLandscape3;
@@ -156,7 +157,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
private final static String[] RESET_OPTIONS = new String[]{
"theme", "startup", "cards", "beige", "tabular_card_bg", "shadow_unread",
"date", "date_bold", "navbar_colorize",
- "portrait2", "portrait3", "landscape", "landscape3", "nav_count",
+ "portrait2", "portrait2c", "portrait3", "landscape", "landscape3", "nav_count",
"threading", "threading_unread", "indentation", "seekbar", "actionbar", "actionbar_color",
"highlight_unread", "highlight_color", "color_stripe",
"avatars", "bimi", "gravatars", "favicons", "generated_icons", "identicons", "circular", "saturation", "brightness", "threshold",
@@ -192,6 +193,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
swDateBold = view.findViewById(R.id.swDateBold);
swNavBarColorize = view.findViewById(R.id.swNavBarColorize);
swPortrait2 = view.findViewById(R.id.swPortrait2);
+ swPortrait2c = view.findViewById(R.id.swPortrait2c);
swPortrait3 = view.findViewById(R.id.swPortrait3);
swLandscape = view.findViewById(R.id.swLandscape);
swLandscape3 = view.findViewById(R.id.swLandscape3);
@@ -359,6 +361,17 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("portrait2", checked).apply();
+ if (checked)
+ prefs.edit().putBoolean("portrait2c", false).apply();
+ }
+ });
+
+ swPortrait2c.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("portrait2c", checked).apply();
+ if (checked)
+ prefs.edit().putBoolean("portrait2", false).apply();
}
});
@@ -1033,6 +1046,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer
swDateBold.setEnabled(swDate.isChecked());
swNavBarColorize.setChecked(prefs.getBoolean("navbar_colorize", false));
swPortrait2.setChecked(prefs.getBoolean("portrait2", false));
+ swPortrait2c.setChecked(prefs.getBoolean("portrait2c", false) && !swPortrait2.isChecked());
swPortrait3.setChecked(prefs.getBoolean("portrait3", false));
swPortrait3.setEnabled(normal);
swLandscape.setChecked(prefs.getBoolean("landscape", true));
diff --git a/app/src/main/res/layout/fragment_options_display.xml b/app/src/main/res/layout/fragment_options_display.xml
index 8569d253c6..982351a14d 100644
--- a/app/src/main/res/layout/fragment_options_display.xml
+++ b/app/src/main/res/layout/fragment_options_display.xml
@@ -254,6 +254,29 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/swPortrait2" />
+
+
+
+
Debug
Use two rows in portrait mode
+ Use two columns in portrait mode
Show navigation menu in portrait mode by default
Use two columns in landscape mode
Show navigation menu in landscape mode by default