From 594d886e38067268227ebd325dd33f36b1f35ff4 Mon Sep 17 00:00:00 2001
From: MiMoHo <37556964+MiMoHo@users.noreply.github.com>
Date: Fri, 3 Jul 2026 02:32:45 +0200
Subject: [PATCH] fix(settings): prevent crash caused by incomplete translated
preference entry arrays
Opening the settings crashed with an ArrayIndexOutOfBoundsException in
ListPreference.getEntry() for locales whose translated entries arrays
have fewer items than the corresponding entryValues arrays (at 4.5.2:
values-es-rMX ships fontSize_entries with 1 of 3 items, values-ast,
values-oc and values-pt-rPT ship darkmode_entries with 2 of 3 items).
Since the default values "medium" (index 1) and "SYSTEM_DEFAULT"
(index 2) lie beyond those lengths, affected users crash right when
the preference list is bound.
fontSize_entries and darkmode_entries are now translatable="false"
arrays referencing individual translatable strings, the same pattern
already used for noteMode_entries_new since #768. A missing individual
translation falls back to English instead of shifting array positions,
so the entries and entryValues arrays can no longer diverge.
Fixes #3002
Assisted-by: Claude Code:claude-fable-5
AI-assistant: Claude Code 2.1.187 (Claude Fable 5)
---
app/src/main/res/values/arrays.xml | 16 ++++++++--------
app/src/main/res/values/strings.xml | 8 ++++++++
2 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 6a3224607..59d86a03a 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -35,16 +35,16 @@
- @string/noteMode_remember_last
-
- - Small
- - Medium
- - Large
+
+ - @string/fontSize_small
+ - @string/fontSize_medium
+ - @string/fontSize_large
-
- - Light
- - Dark
- - System Default
+
+ - @string/darkmode_light
+ - @string/darkmode_dark
+ - @string/darkmode_system_default
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1d0c39640..07eea3d85 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -363,6 +363,14 @@
Rich edit mode
Remember my last selection
+ Small
+ Medium
+ Large
+
+ Light
+ Dark
+ System Default
+
- %d selected
- %d selected