Skip to content

Complete Android download queue management and offline polish #53

Description

@altaywtf

Parent

#52

What this delivers

The lean mobile-v1 download path from #28 gains the queue-management and lifecycle polish intentionally deferred from launch: bounded concurrency, understandable queued/running/failed state, bulk cleanup, and completion behavior users can trust.

Scope

  • Configurable or product-decided concurrent-download limit with a visible queue.
  • Queued, running, paused/retryable, failed, complete, and removed states with deterministic recovery.
  • Numeric progress where the platform source provides a trustworthy denominator.
  • Multi-select removal of local copies without deleting remote originals unless a separate confirmed action is chosen.
  • Completion/failure notifications that deep-link to the local item and respect notification permission state.
  • Storage-pressure and unavailable-local-file recovery.

Acceptance criteria

  • Queue ordering and concurrency survive process recreation.
  • Failed or interrupted downloads recover without silently losing queue state.
  • Bulk local deletion cannot delete remote originals implicitly.
  • Notification and permission-disabled states are both verified.
  • Offline playback and local-availability indicators remain correct after queue operations.

Verification

  • State-machine tests with controlled download progress and process restoration.
  • Emulator/device recording covering queueing, retry, completion, bulk cleanup, airplane mode, and storage failure.
  • ./gradlew verify and mobile debug assemble green.

Blocked by

Boundaries

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions