Skip to content

Epic: background recording enablement — turnkey FGS switch, F-Droid now, Play declaration package, dark seams wired #3417

Description

@fdittgen-png

Triage

Classification: epic. (4 of 6 signals)

  1. Source files > 5 — 4 workflow files, recording_location_settings.dart seams, companion_auto_record_coordinator.dart trigger, gps_only_trip_wal.dart, docs/declaration package.
  2. Distinct subsystems — CI workflows, Android manifests/Gradle, consumption providers, Play Console policy.
  3. Architectural decision — repo-variable-gated FGS enable (one switch, zero code change on approval).
  4. Cross-feature coordination — CI + Android + Play Console + on-device validation.

Validation needed

@fdittgen-png — please confirm before I file the child issues:

  • You agree this is an Epic (not a single task).
  • The proposed task breakdown below is correct and complete.
  • File each child issue in the listed order.

Problem statement

Background recording is architecturally complete but dark in every shipped Android build: Play builds dropped the FGS_FORM_APPROVED define (#3376) because Play's upload API 403s until the Foreground services declaration is completed in Play Console — and that declaration was never findable because (1) it lives under Monitor and improve → App content → Foreground services (not under any "background" heading — Android's background execution IS a foreground service with a persistent notification), and (2) the task typically only appears after an artifact declaring the FGS permissions reaches a track, which our API-only pipeline could never achieve (the 403 catch-22). Without the FGS: background GPS batches to ~5 s, AutoRecordForegroundService reports unavailable, CDM/battery-exemption/motion-gating are all no-ops. F-Droid needs no form and could ship the FGS today; iOS already records in background (plist location + bluetooth-central modes, ungated).

Target design

Proposed tasks

Out of scope

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1-highFix in current milestonetype/epicParent issue tracking a multi-task initiative

    Projects

    Status
    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions