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