Skip to content

Warn when launcher wizard finds Live Channels Provider disabled#20

Merged
bryanroscoe merged 2 commits into
mainfrom
feat/launcher-channel-dep-check
May 23, 2026
Merged

Warn when launcher wizard finds Live Channels Provider disabled#20
bryanroscoe merged 2 commits into
mainfrom
feat/launcher-channel-dep-check

Conversation

@bryanroscoe
Copy link
Copy Markdown
Owner

After `Setup-Launcher` successfully sets the chosen launcher as default, `Test-ChannelDependencies` checks whether `com.android.providers.tv` is in the disabled package list. If so, it surfaces a warning explaining that the new launcher's Watch Next / Continue Watching row will be empty regardless of which streaming apps are installed — because the TvProvider is the system content provider every app uses to publish those entries — and offers to re-enable the provider in place.

Why

Real-device repro: `com.android.providers.tv` was disabled from a previous session. User switched to Projectivy, opened Apple TV, and couldn't figure out why Continue Watching was empty. The launcher wizard had no awareness of the dependency.

Verification

  • `make lint` — Syntax OK
  • `make test` — 121 passed / 4 skipped / 0 failed
  • Live state queried against Shield: detection logic correctly skips the warning when `pm list packages -d` doesn't contain the package.

Pairs with #19 (description sharpening on the same package).

After Setup-Launcher finishes its set-default flow, Test-ChannelDependencies
checks whether com.android.providers.tv is in the disabled list. If so,
the new launcher will appear with an empty Watch Next / Continue Watching
row regardless of which streaming apps are installed — because the
TvProvider is the system content provider every app uses to publish
those entries.

Surfaces a warning explaining the consequence and offers to re-enable
the provider in place. Avoids the silent state Bryan hit in real life:
provider disabled from a previous session, switch launcher, can't
figure out why Apple TV's Continue Watching is empty.

No effect on the launcher swap itself; runs only after the launcher
has been set up successfully.
Review caught that placing Test-ChannelDependencies at the very end of
Setup-Launcher only fires on the "default launcher set successfully"
path. The already-active, stock-fallback, and various decline/abort
paths all skipped it — even though the TvProvider dependency is just
as relevant on those branches.

Moved the call to immediately after the disabled-packages snapshot at
the top of Setup-Launcher so every custom-launcher exit path benefits.
Test-ChannelDependencies now accepts the already-fetched
`pm list packages -d` blob via an optional -DisabledPackages parameter,
avoiding a redundant ADB roundtrip.
@bryanroscoe bryanroscoe merged commit 46cf06c into main May 23, 2026
4 checks 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