Simplified collapse on back

pull/163/head
M66B 5 years ago
parent c2dcb86dfb
commit aa25c91d88

@ -3633,11 +3633,18 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
return true;
}
int count = (values.containsKey("expanded") ? values.get("expanded").size() : 0);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
boolean collapse_single = prefs.getBoolean("collapse_single", false);
boolean collapse_multiple = prefs.getBoolean("collapse_multiple", true);
if ((collapse_single && count == 1) || (collapse_multiple && count > 1)) {
int count = 0;
for (int i = 0; i < adapter.getItemCount(); i++) {
TupleMessageEx message = adapter.getItemAtPosition(i);
if (message != null && !message.duplicate)
count++;
}
int expanded = (values.containsKey("expanded") ? values.get("expanded").size() : 0);
if (collapse_multiple && expanded > 0 && count > 1) {
values.get("expanded").clear();
updateExpanded();
adapter.notifyDataSetChanged();

@ -50,7 +50,6 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
private SwitchCompat swExpandOne;
private SwitchCompat swAutoClose;
private Spinner spOnClose;
private SwitchCompat swCollapseSingle;
private SwitchCompat swCollapseMultiple;
private SwitchCompat swAutoRead;
private SwitchCompat swAutoUnflag;
@ -59,7 +58,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
private final static String[] RESET_OPTIONS = new String[]{
"pull", "autoscroll", "doubletap", "swipenav", "reversed",
"autoexpand", "expand_all", "expand_one", "collapse_single", "collapse_multiple",
"autoexpand", "expand_all", "expand_one", "collapse_multiple",
"autoclose", "onclose", "autoread", "autounflag", "automove", "discard_delete"
};
@ -81,7 +80,6 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
swAutoExpand = view.findViewById(R.id.swAutoExpand);
swExpandAll = view.findViewById(R.id.swExpandAll);
swExpandOne = view.findViewById(R.id.swExpandOne);
swCollapseSingle = view.findViewById(R.id.swCollapseSingle);
swCollapseMultiple = view.findViewById(R.id.swCollapseMultiple);
swAutoClose = view.findViewById(R.id.swAutoClose);
spOnClose = view.findViewById(R.id.spOnClose);
@ -155,13 +153,6 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
}
});
swCollapseSingle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
prefs.edit().putBoolean("collapse_single", checked).apply();
}
});
swCollapseMultiple.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
@ -278,7 +269,6 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
swExpandAll.setChecked(prefs.getBoolean("expand_all", false));
swExpandOne.setChecked(prefs.getBoolean("expand_one", true));
swExpandOne.setEnabled(!swExpandAll.isChecked());
swCollapseSingle.setChecked(prefs.getBoolean("collapse_single", false));
swCollapseMultiple.setChecked(prefs.getBoolean("collapse_multiple", true));
swCollapseMultiple.setEnabled(!swExpandOne.isChecked() || swExpandAll.isChecked());

@ -115,17 +115,6 @@
app:layout_constraintTop_toBottomOf="@id/swExpandAll"
app:switchPadding="12dp" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/swCollapseSingle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/title_advanced_collapse_single"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/swExpandOne"
app:switchPadding="12dp" />
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/swCollapseMultiple"
android:layout_width="0dp"
@ -134,7 +123,7 @@
android:text="@string/title_advanced_collapse_multiple"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/swCollapseSingle"
app:layout_constraintTop_toBottomOf="@id/swExpandOne"
app:switchPadding="12dp" />
<androidx.appcompat.widget.SwitchCompat

@ -277,8 +277,7 @@
<string name="title_advanced_autoexpand">Automatically expand messages</string>
<string name="title_advanced_expand_all">Automatically expand all read messages</string>
<string name="title_advanced_expand_one">Expand only one message at a time</string>
<string name="title_advanced_collapse_single">Collapse single message in a conversation on \'back\'</string>
<string name="title_advanced_collapse_multiple">Collapse multiple messages in a conversation on \'back\'</string>
<string name="title_advanced_collapse_multiple">Collapse messages in a conversation with multiple messages on \'back\'</string>
<string name="title_advanced_autoclose">Automatically close conversations</string>
<string name="title_advanced_onclose">On closing a conversation</string>
<string name="title_advanced_autoread">Automatically mark messages read on moving messages</string>

Loading…
Cancel
Save