Skip to content

[codex] Restore install tracker analysis notifications#580

Merged
kasnder merged 1 commit intomasterfrom
codex/install-analysis-notifications
May 4, 2026
Merged

[codex] Restore install tracker analysis notifications#580
kasnder merged 1 commit intomasterfrom
codex/install-analysis-notifications

Conversation

@kasnder
Copy link
Copy Markdown
Member

@kasnder kasnder commented May 4, 2026

Summary

Re-adds tracker library counts to install notifications without doing static analysis directly in the package-added receiver, and automatically starts static analysis when users open an app's details screen if results are missing or stale.

Changes

  • Install notifications now enqueue static tracker analysis when no fresh cached result is available.
  • Tracker analysis workers update the install notification with the detected tracker-library count after caching the result.
  • App details now auto-start tracker-library analysis when there is no cached result, or when the cached result is stale after an app update.
  • Automatic details-open analysis is attempted only once per installed app version, so apps that cannot be analysed do not retry on every details open.
  • Manual Analyse/Update analysis still calls the normal analysis path and can retry.
  • Fresh cached analysis results are shown immediately and do not trigger extra work.
  • Analysis work is deduplicated per package with unique WorkManager names instead of appending duplicate jobs to one global queue.
  • A worker-level semaphore keeps DEX scans serialized to preserve the existing OOM/battery guard.
  • The details UI observes the package's unique work record instead of tag history.
  • Adds focused unit coverage for tracker-count parsing, details-open analysis decisions, one-attempt-per-version behavior, and package-unique work names.

Validation

  • ./gradlew :app:testFdroidDebugUnitTest --tests net.kollnig.missioncontrol.analysis.TrackerAnalysisManagerTest
  • ./gradlew :app:testFdroidDebugUnitTest

Note: this branch was created from origin/master in a clean worktree so unrelated local changes, including the existing app/build.gradle version bump in the original checkout, are not included.

@kasnder kasnder force-pushed the codex/install-analysis-notifications branch from 360c506 to dce3f66 Compare May 4, 2026 12:47
@kasnder kasnder force-pushed the codex/install-analysis-notifications branch from dce3f66 to 1b628fc Compare May 4, 2026 12:51
@kasnder kasnder marked this pull request as ready for review May 4, 2026 12:53
@kasnder kasnder merged commit 796d61a into master May 4, 2026
1 check 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