Skip to content

fix: recover native player artwork and background after lifecycle changes - #88

Merged
Zennmn merged 3 commits into
Zennmn:mainfrom
Kifranei:fix/player-artwork-background-recovery
Oct 8, 2026
Merged

Zennmn merged 3 commits into
Zennmn:mainfrom
Kifranei:fix/player-artwork-background-recovery

Conversation

@Kifranei

@Kifranei Kifranei commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Repeated rotation, view recreation, or returning from the background can leave the native player using an intermediate artwork size or a shader backed by a recycled blur bitmap. Static covers can progressively shrink, and the player background can turn gray.

This adds an always-on native player recovery capability for the verified Apple Music 7.0.0-beta / 1606 profile:

  • Use the settled native square artwork slot as the static size baseline, reconcile stale child dimensions and cached resize targets, and preserve native playback scaling, video sizing, and transition animations.
  • Clear invalid derived blur/shader caches after detachment and restore the native background pipeline after attachment, resume, or artwork replacement, using a valid queued/current bitmap or the foreground artwork.

Both repairs install through one registration scope, with exact method/field contracts resolved before activation. Unknown/legacy hosts remain unsupported; partial installation leaves hooks dormant. Native pane destruction removes view identities and animation/draw listeners. The capability works independently of optional dual-pane/glass settings and does not require a media plugin.

Validation:

  • Full repository tests: 1,077 test executions, 0 failures/errors/skips, including artwork geometry, installation failure cleanup/idempotence, and operation with optional layouts disabled.
  • Required app, host, glass, and plugin Lint checks plus Release APK assembly passed.
  • Architecture, pinned glass sources, and profile compatibility checks passed; 287 host descriptor checks against the original 1606 APK passed.

The background repair's source implementation was previously exercised through repeated rotation on a Xiaomi Pad 5. This host integration has not had a new device run, and the phone artwork fix still needs device regression testing. Existing media-plugin recovery hooks can coexist and may report non-exclusive overlap diagnostics; no device test with both implementations enabled was performed.

@Zennmn

Zennmn commented Oct 8, 2026

Copy link
Copy Markdown
Owner

@codex review

@Kifranei

Kifranei commented Oct 8, 2026

Copy link
Copy Markdown
Contributor Author

@codex review it

@Zennmn
Zennmn merged commit 0dde9e4 into Zennmn:main Oct 8, 2026
1 check passed
@Kifranei
Kifranei deleted the fix/player-artwork-background-recovery branch October 8, 2026 12:46
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.

2 participants