Fix: Sort menu now shows friendly labels instead of CAPS codes

Changed sort_options array back to user-friendly text (Most Recent, A to Z, etc.)
and added position-based mapping in NotesListFragment to convert between display
labels and internal storage codes.

Added helper methods:
- getSortCodeFromPosition(int): Maps spinner position to internal code
- getPositionFromSortCode(String): Maps internal code back to spinner position

This provides much better UX while maintaining full functionality.
This commit is contained in:
Marvin 2026-03-17 16:56:14 -03:00
parent 35bddd27c4
commit 30bfe441f8
2 changed files with 29 additions and 22 deletions

View File

@ -77,7 +77,7 @@ public class NotesListFragment extends Fragment implements NotesAdapter.OnNoteCl
sortSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String sortOrder = (String) parent.getItemAtPosition(position);
String sortOrder = getSortCodeFromPosition(position);
storage.setSortOrder(sortOrder);
loadNotes();
}
@ -87,30 +87,37 @@ public class NotesListFragment extends Fragment implements NotesAdapter.OnNoteCl
});
}
private void setupFab() {
fab.setOnClickListener(v -> showCreateNoteDialog());
}
private void loadNotes() {
String currentSort = storage.getSortOrder();
switch (currentSort) {
case "OLDEST_FIRST":
sortSpinner.setSelection(1);
break;
case "A_TO_Z":
sortSpinner.setSelection(2);
break;
case "Z_TO_A":
sortSpinner.setSelection(3);
break;
default:
sortSpinner.setSelection(0);
}
int position = getPositionFromSortCode(currentSort);
sortSpinner.setSelection(position);
adapter.setNotes(storage.getAllNotes());
}
private String getSortCodeFromPosition(int position) {
switch (position) {
case 1: return "OLDEST_FIRST";
case 2: return "A_TO_Z";
case 3: return "Z_TO_A";
default: return "MOST_RECENT";
}
}
private int getPositionFromSortCode(String sortOrder) {
switch (sortOrder) {
case "OLDEST_FIRST": return 1;
case "A_TO_Z": return 2;
case "Z_TO_A": return 3;
default: return 0;
}
}
private void setupFab() {
fab.setOnClickListener(v -> showCreateNoteDialog());
}
private void showCreateNoteDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(requireContext());
builder.setTitle("Create New Note");

View File

@ -3,9 +3,9 @@
<string name="app_name">Notes</string>
<string-array name="sort_options">
<item>MOST_RECENT</item>
<item>OLDEST_FIRST</item>
<item>A_TO_Z</item>
<item>Z_TO_A</item>
<item>Most Recent</item>
<item>Oldest First</item>
<item>A to Z</item>
<item>Z to A</item>
</string-array>
</resources>