Skip to content

Self-updater never deletes downloaded APKs — ~500MB accumulated in files/Download/ #18

Description

@jameswagar

Summary

The launcher's self-updater downloads each new APK to external storage (/sdcard/Android/data/<pkg>/files/Download/) but never deletes the file after a successful install. Every update — of the launcher itself, and of sibling apps it manages updates for (e.g. voicetotext) — leaves a permanent copy behind. Given how frequently this launcher ships releases, this accumulates fast.

Evidence

Found 19 leftover APKs in /sdcard/Android/data/com.offlineinc.dumbdownlauncher/files/Download/, totaling ~500MB, spanning 2026-07-07 through 2026-07-09:

dumb-down-launcher.apk    2026-07-07 12:22   11.2MB
dumb-down-launcher-1.apk  2026-07-08 11:46   11.2MB
dumb-tt9.apk              2026-07-08 12:38    5.2MB
dumb-down-launcher-2.apk  2026-07-08 13:34   11.2MB
dumb-down-launcher-3.apk  2026-07-08 15:06   11.2MB
dumb-down-launcher-4.apk  2026-07-08 15:06   11.2MB
dumb-down-launcher-5.apk  2026-07-09 08:56   11.2MB
voicetotext.apk           2026-07-09 08:57   39.1MB
voicetotext-1.apk         2026-07-09 09:16   39.1MB
voicetotext-2.apk         2026-07-09 09:28   39.1MB
voicetotext-3.apk         2026-07-09 09:31   39.1MB
voicetotext-4.apk         2026-07-09 09:33   39.1MB
voicetotext-5.apk         2026-07-09 09:39   39.1MB
voicetotext-6.apk         2026-07-09 10:45   39.1MB
voicetotext-7.apk         2026-07-09 11:47   39.1MB
dumb-down-launcher-6.apk  2026-07-09 13:09   11.2MB
voicetotext-8.apk         2026-07-09 13:10   39.1MB
voicetotext-9.apk         2026-07-09 13:15   39.1MB
voicetotext-10.apk        2026-07-09 13:16   39.1MB

Note the numbered-suffix pattern (voicetotext.apk, voicetotext-1.apk, -2, ... -10) — each update writes a new file rather than overwriting/removing the previous download. voicetotext alone updated 11 times in about 4.5 hours on 2026-07-09 (active beta iteration), each leaving its full ~39MB download behind.

Impact

Pure storage waste with no functional benefit — the actually-installed app versions live in /data/app/, not here. On a device with a small /data partition (this one is ~4.5GB total), ~500MB of dead weight from update downloads alone is a meaningful fraction of available storage, and will keep recurring given the update cadence.

Suggested fix

After a successful install triggered by the downloaded APK (in whatever code path handles the self-update / DownloadAndInstallReceiver-style flow), delete the source APK from the Download folder. Alternatively, always download to the same fixed filename (overwriting the previous download) rather than a numbered/unique one per update, so at most one leftover file can ever exist.

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