diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index 69fedd12d4..96278532f2 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -718,6 +718,11 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB Shortcuts.update(this, this); } + public boolean isSplit() { + return (layoutId == R.layout.activity_view_portrait_split || + layoutId == R.layout.activity_view_landscape_split); + } + @Override public void onBackPressedFragment() { backPressedCallback.handleOnBackPressed(); diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 57b0d2d378..04c66ef551 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -230,6 +230,7 @@ public class AdapterMessage extends RecyclerView.Adapter 0 && "thread".equals(fm.getBackStackEntryAt(count - 1).getName())); + List ids = values.get("selected"); + if (ids != null) + for (long id : ids) + iProperties.setValue("split", id, split); + } + private void scrollToVisibleItem(LinearLayoutManager llm, boolean bottom) { int first = llm.findFirstVisibleItemPosition(); int last = llm.findLastVisibleItemPosition(); @@ -2095,7 +2125,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. } else values.get(name).remove(id); - if ("selected".equals(name) && enabled) { + if ("split".equals(name) || ("selected".equals(name) && enabled)) { if (!getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) return; @@ -2105,7 +2135,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. if (pos != NO_POSITION) changed.add(pos); - for (Long other : new ArrayList<>(values.get("selected"))) + for (Long other : new ArrayList<>(values.get(name))) if (!other.equals(id)) { values.get(name).remove(other);