Skip to content

Release: 1.5.1 - #361

Merged
feragusper merged 5 commits into
masterfrom
develop
Jul 30, 2026
Merged

Release: 1.5.1#361
feragusper merged 5 commits into
masterfrom
develop

Conversation

@feragusper

@feragusper feragusper commented Jul 29, 2026

Copy link
Copy Markdown
Owner

Rolling release PR for 1.5.1 (develop → master).

Settings: theme + language

  • Theme toggle in a new Appearance & language section: System / Light / Dark. Device-local (ThemeModeHolder, mirrors AccentHolder), applies app-wide live with no flash, works without an account.
  • In-app language switch (English / Español / System) using Android per-app locales — framework LocaleManager on API 33+, AppCompat auto-store backport below. locales_config.xml added.
  • Appearance is reachable even when signed out (never touches Firestore-backed prefs).
  • Strings added in en + es.

Verified on an Android 16 emulator: theme flips instantly and persists across reinstall; language re-localizes + recreates and persists (framework locale confirmed [en]).

Store listing (Play rejection fix)

  • Replaced framed marketing screenshots with real in-app captures (en-US + es-ES): Home, month Analytics chart, active Goal + streak. App UI dominant, small caption — fixes Play's "marketing graphics instead of in-app experience" flag.
  • Removed tablet screenshot sets (the stretched-phone shots that tripped the "single solid color / corrupted" check); added sync_image_upload: true so they are cleared on Play.
  • Completed the truncated es-ES title → "Smoke Analytics: Fumá menos".

i18n fix

  • History elapsed-duration label no longer leaks the English " and " into Spanish ("Después de 1 hora and 44 minutos" → "… y …"); separator moved to a localized string resource.

🤖 Generated with Claude Code

feragusper and others added 5 commits July 29, 2026 16:21
Add an Appearance & language section in Settings:

- Theme: System / Light / Dark. Backed by a device-local ThemeModeHolder
  (SharedPreferences, observable Compose state) mirroring AccentHolder, so it
  applies app-wide with no flash and works without an account. SmokeAnalyticsTheme
  now derives darkTheme from ThemeMode; all activities pick it up via the default
  param and switch live.
- Language: Android per-app locales. Uses the framework LocaleManager on API 33+
  (applies + recreates at the OS level, no AppCompatActivity needed) with the
  AppCompat auto-store service as the pre-33 backport. locales_config.xml lists en/es.
- Appearance is reachable even when signed out (theme + language are device-local,
  never touch the Firestore-backed user preferences).

Strings added in en + es (es rioplatense).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…es, drop tablet set

Google Play flagged the store listing screenshots on two grounds: they read as
marketing graphics rather than the in-app experience, and the tablet shots (a
phone frame stretched onto the 7"/10" canvas) tripped the "single solid color /
corrupted" check.

Regenerate phone screenshots (en-US + es-ES) from real in-app captures with
actual usage data (goal, month analytics chart, active goal + streak). New
layout keeps the app UI dominant with a small caption instead of a large
headline over empty background. Remove the tablet screenshot sets, which are
not required to publish.

Add overwrite_screenshots: true to the listing lane so removed sets are cleared
on Play instead of appended.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…shots

overwrite_screenshots is not a supply option and failed the listing lane with
"Could not find option". sync_image_upload uploads changed images and deletes
remote images missing locally, which is what clears the removed tablet set.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The history row's "after X hours and Y minutes" label hardcoded the English
" and " to join the hours and minutes parts, leaking into the Spanish UI as
"Después de 1 hora and 44 minutos". Move the separator to a localized string
resource (" and " / " y ").

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
es-ES title read "Smoke Analytics: Registra" (looked cut off). Set a complete
title within Play's 30-char limit: "Smoke Analytics: Fumá menos" (28).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@feragusper
feragusper merged commit c3fd7e4 into master Jul 30, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant