Skip to content

fix(android): clean permission paths and handle malformed inputs - #83

Merged
t-regbs merged 8 commits into
mainfrom
codex/cleanup-android
Nov 6, 2026
Merged

t-regbs merged 8 commits into
mainfrom
codex/cleanup-android

Conversation

@t-regbs

@t-regbs t-regbs commented Nov 6, 2026 •

Copy link
Copy Markdown
Owner

Why

Unused Android paths and resources obscure active permission flows. Malformed FCM payloads can throw, and ringtone permission checks return before reaching an Activity while temporary players leak.

What changed

  • Remove dead permission-navigation APIs, helpers, tags, receiver leftovers and 72 unused strings; retain live notification resources and API26-sensitive behavior.
  • Validate update payloads, pass a live Activity to ringtone checks, release temporary players and restrict legacy storage permission to API32 and below.
  • Add regression tests and dedicated permission/theme startup runners with explicit emulator selection and fixture cleanup.

Scope

  • Android cleanup and two reproduced behavior defects, plus matching unused permission-interface removal on both platforms.
  • Existing audio service changes are excluded; picker selection and notification behavior remain intact.

Blast Radius

Ringtone permission checks are now reachable. Actual permission grant, failed title lookup, player ownership, malformed messages and valid update notifications have regression coverage. The device runners require an explicitly selected disposable emulator.

Verification

  • FCM and ringtone failures reproduced before fixes; 149 app and 207 shared branch tests, Android APK builds and lint pass with no lint errors. Two API26 runtime tests confirm notification settings and preview vibration.
  • Combined cleanup passes 526 host and 399 Kotlin native tests. API30 checks pass twice for actual permission grant, for both picker contracts, and for all five saved-theme startup cases; preferences restore byte-for-byte.
  • Fresh independent review found and resolved a device-fixture repeatability issue; no production findings remain. Existing lint warnings are outside the original cleanup audit.

@t-regbs
t-regbs merged commit d08c46a into main Nov 6, 2026
2 of 4 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