Add tracker:<company> app-list search (#447)#647
Closed
kasnder wants to merge 3 commits into
Closed
Conversation
Let users find which installed apps have contacted a particular tracker company (e.g. "tracker:gravy analytics" or "tracker:facebook") directly from the existing app-list search box. - TrackerList.getTrackerNamesByUid(): one DB scan building a UID -> contacted-company-names lookup, mirroring the existing getTrackerCountsAndTotal() traversal. - AdapterRule filter: a query starting with "tracker:" matches apps whose observed tracker companies contain the query substring (case-insensitive). The lookup is built once per filter invocation on the Filter's background thread, not per row. Plain queries keep the existing name/package/uid behaviour. - Discoverability: SearchView query hint now reads "Search app, or tracker:company" (new base-English string only). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Member
Author
|
Review finding — locale-independent matching ( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements #447: let users search which installed apps have contacted a particular tracker company or SDK.
What
The existing app-list search box now understands a
tracker:prefix. A query likefilters the app list to apps whose observed/contacted tracker companies contain the query substring (case-insensitive). Plain queries keep the existing name/package/uid search behaviour unchanged.
How
TrackerList.getTrackerNamesByUid()— a single scan over the recorded hosts, mapping each app UID to the set of contacted tracker company names (same traversal pattern as the existinggetTrackerCountsAndTotal()).AdapterRule.getFilter()— on atracker:-prefixed query, builds that lookup once per filter invocation on theFilter's background thread (no per-row DB queries, no UI-thread work), then keeps apps whose company set has a substring match.menu_search_hintonly; translations left to Crowdin).No new screens, settings, or dependencies.
Usage example
tracker:facebook— the list shrinks to apps that have contacted Facebook-owned tracker domains.Manual verification needed
tracker:facebook(or another company seen in app details) returns the expected apps; a nonsense company returns an empty list.Note: like the "contacted N companies" counts, this searches observed tracker contacts recorded by TC, not static SDK analysis, and interacts with the hidden-app search stubs from 58a9e0a only in that tracker-search matches are restricted to the visible list (stubs carry no tracker data).
Closes #447
🤖 Generated with Claude Code