The remaining sluggishness was scaling a live-playing TextureView through the morph's graphicsLayer every frame. Now the minibar + the whole collapse/expand morph render the video's static poster (AsyncImage); the live PlayerView only mounts once settled fully expanded. Audio is unaffected — it's owned by the foreground service, never stops. |
||
|---|---|---|
| .. | ||
| src/main | ||
| build.gradle.kts | ||
| proguard-rules.pro | ||