App 2.30.0: a chibi fox as the third Mascot

FoxFigure draws a sitting fox with a scarf in the accent colour whose
ears and tail act the mood with the face: wagging, stiff, drooping,
laid back. The chibi's shared parts (frame, eyes, mouths, limbs by
mood, effects) moved into ChibiBase, which both figures extend.
Settings → Mascot: Classic / Chibi / Fox.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LhzAVaUyqcw5PkGjz4mWW6
This commit is contained in:
2026-10-24 23:28:16 +02:00
co-authored by Claude Opus 5.5
parent 7df1930edd
commit 4a1f178b5c
12 changed files with 612 additions and 292 deletions
@@ -1267,7 +1267,8 @@ public class MainActivity extends AppCompatActivity {
/** Who sits in the Mascot style; the drop-down shows only while that style is chosen. */
private void bindMascotCharacter() {
MascotCharacter[] characters = MascotCharacter.values();
String[] labels = { getString(R.string.mascot_character_classic), getString(R.string.mascot_character_chibi) };
String[] labels = { getString(R.string.mascot_character_classic), getString(R.string.mascot_character_chibi),
getString(R.string.mascot_character_fox) };
int current = MascotCharacter.fromPref(prefs.getString(MascotCharacter.PREF_KEY, null)).ordinal();
bindChoices(settingsPane.findViewById(R.id.mascot_choices), labels, current, position -> {
prefs.edit().putString(MascotCharacter.PREF_KEY, characters[position].name()).apply();