From 704b65c2299fdd0689c916a3417c57d6c9672269 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 1 Jul 2020 12:21:42 +0200 Subject: [PATCH] Added two row portrait mode --- .../java/eu/faircode/email/ActivityView.java | 3 +- .../eu/faircode/email/FragmentOptions.java | 2 +- .../email/FragmentOptionsDisplay.java | 12 ++++- .../layout/activity_view_portrait_split.xml | 47 +++++++++++++++++++ .../res/layout/fragment_options_display.xml | 14 +++++- app/src/main/res/values/strings.xml | 1 + 6 files changed, 75 insertions(+), 4 deletions(-) create mode 100644 app/src/main/res/layout/activity_view_portrait_split.xml diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index ab41f05a51..07caa90c4c 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -154,6 +154,7 @@ 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 landscape = prefs.getBoolean("landscape", true); final boolean landscape3 = prefs.getBoolean("landscape3", true); Log.i("Orientation=" + config.orientation + " normal=" + normal + @@ -161,7 +162,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB boolean portrait = (config.orientation == ORIENTATION_PORTRAIT || !normal || !landscape); view = LayoutInflater.from(this).inflate(portrait - ? R.layout.activity_view_portrait + ? (portrait2 ? R.layout.activity_view_portrait_split : R.layout.activity_view_portrait) : R.layout.activity_view_landscape, null); setContentView(view); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptions.java b/app/src/main/java/eu/faircode/email/FragmentOptions.java index 3d017d2234..d277e957e4 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptions.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptions.java @@ -78,7 +78,7 @@ public class FragmentOptions extends FragmentBase { static String[] OPTIONS_RESTART = new String[]{ "first", "app_support", "notify_archive", "message_swipe", "message_select", "folder_actions", "folder_sync", "subscriptions", - "landscape", "landscape3", "startup", "cards", "indentation", "date", "threading", "threading_unread", + "portrait2", "landscape", "landscape3", "startup", "cards", "indentation", "date", "threading", "threading_unread", "highlight_unread", "color_stripe", "avatars", "gravatars", "favicons", "generated_icons", "identicons", "circular", "saturation", "brightness", "threshold", "name_email", "prefer_contact", "distinguish_contacts", "show_recipients", "authentication", diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java index 0149d4b207..e19b09a25f 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsDisplay.java @@ -60,6 +60,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer private SwitchCompat swCards; private SwitchCompat swDate; private SwitchCompat swNavBarColorize; + private SwitchCompat swPortrait2; private SwitchCompat swLandscape; private SwitchCompat swLandscape3; @@ -120,7 +121,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer private SwitchCompat swAuthentication; private final static String[] RESET_OPTIONS = new String[]{ - "theme", "startup", "cards", "date", "navbar_colorize", "landscape", "landscape3", + "theme", "startup", "cards", "date", "navbar_colorize", "portrait2", "landscape", "landscape3", "threading", "threading_unread", "indentation", "seekbar", "actionbar", "actionbar_color", "highlight_unread", "color_stripe", "avatars", "gravatars", "favicons", "generated_icons", "identicons", "circular", "saturation", "brightness", "threshold", @@ -149,6 +150,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer swCards = view.findViewById(R.id.swCards); swDate = view.findViewById(R.id.swDate); swNavBarColorize = view.findViewById(R.id.swNavBarColorize); + swPortrait2 = view.findViewById(R.id.swPortrait2); swLandscape = view.findViewById(R.id.swLandscape); swLandscape3 = view.findViewById(R.id.swLandscape3); @@ -255,6 +257,13 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer } }); + swPortrait2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + prefs.edit().putBoolean("portrait2", checked).apply(); + } + }); + swLandscape.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { @@ -748,6 +757,7 @@ public class FragmentOptionsDisplay extends FragmentBase implements SharedPrefer swCards.setChecked(prefs.getBoolean("cards", true)); swDate.setChecked(prefs.getBoolean("date", true)); swNavBarColorize.setChecked(prefs.getBoolean("navbar_colorize", false)); + swPortrait2.setChecked(prefs.getBoolean("portrait2", false)); swLandscape.setChecked(prefs.getBoolean("landscape", true)); swLandscape.setEnabled(normal); swLandscape3.setChecked(prefs.getBoolean("landscape3", false)); diff --git a/app/src/main/res/layout/activity_view_portrait_split.xml b/app/src/main/res/layout/activity_view_portrait_split.xml new file mode 100644 index 0000000000..b706e546c9 --- /dev/null +++ b/app/src/main/res/layout/activity_view_portrait_split.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_options_display.xml b/app/src/main/res/layout/fragment_options_display.xml index 1921e1bd48..4246ed583c 100644 --- a/app/src/main/res/layout/fragment_options_display.xml +++ b/app/src/main/res/layout/fragment_options_display.xml @@ -145,6 +145,18 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/swNavBarColorize" /> + + Message header Message body + Use two rows in portrait mode Use two columns in landscape mode Show navigation menu in landscape mode by default Show on start screen