What problem does it solve? Adding Google Cast support to an Android media app involves many error-prone steps: declaring the right Media3 dependencies, configuring the manifest OptionsProvider, wiring CastPlayer into a MediaSessionService, and handling UI in both Compose and View-based layouts. This Skill guides the entire integration and migration from the legacy Cast SDK. ## Core Features & Use Cases - Dependency and Manifest Setup: Ensures media3-cast 1.9.0+ dependencies, DefaultCastOptionsProvider declaration, and correct permissions. - Player Architecture: Initializes ExoPlayer and CastPlayer (or RemoteCastPlayer) inside a MediaSessionService with playback state transfer between local and remote devices. - Compose and View UI Guidance: Integrates the MediaRouteButton composable or MediaRouteButtonFactory, with recomposition and rebinding logic on device changes. - Legacy Migration: Replaces legacy Cast SDK wrappers and forwarding players, with a guarded cleanup step for old dependencies. - Use Case: You have an ExoPlayer-based video app and want users to cast to Chromecast or Android TV; this Skill walks through every required change end to end. ## Quick Start Add Google Cast support to my Android media app using Jetpack Media3 CastPlayer, including the manifest setup and a Compose MediaRouteButton.