How ritz0007/cresca works
Cresca is an Android music player whose main workflow is discovering YouTube music, resolving a track to playable audio, and controlling playback in the app or through Android media controls. It also supports lyrics, video, playlists, downloads, YouTube sign-in, and update notifications. The README documents several subsystem responsibilities; sampled source confirms parts of playback, session storage, InnerTube access, and lyrics. Some UI-to-subsystem wiring is therefore represented only where documented, not inferred from co-location.
Main entry points: MainActivity.kt App screens · InnerTubeApi.kt InnerTube API · YoutubeRepository.kt YouTube data · PlaybackService.kt Playback service
Components 24
Discovery and streams
- App screens
app/src/main/java/com/cresca/app/MainActivity.kt - Home feed
app/src/main/java/com/cresca/app/HomeFeed.kt - YouTube data
app/src/main/java/com/cresca/app/YoutubeRepository.kt - InnerTube API
app/src/main/java/com/cresca/app/innertube/InnerTubeApi.kt - YouTube clients
app/src/main/java/com/cresca/app/innertube/InnerTubeClient.kt
Playback and library
- Queue engine
app/src/main/java/com/cresca/app/PlayerQueue.kt - Playback service
app/src/main/java/com/cresca/app/PlaybackService.kt - Audio cache
app/src/main/java/com/cresca/app/ExoCache.kt - Offline downloads
app/src/main/java/com/cresca/app/DownloadStore.kt - Playlists
app/src/main/java/com/cresca/app/PlaylistStore.kt - Liked songs
app/src/main/java/com/cresca/app/LikedStore.kt - Listening history
app/src/main/java/com/cresca/app/RecentStore.kt
Listening experience
- Karaoke lyrics
app/src/main/java/com/cresca/app/LyricsFlow.kt - Lyrics providers
app/src/main/java/com/cresca/app/LyricsRepository.kt - Music video
app/src/main/java/com/cresca/app/VideoSheet.kt
Account and platform
- Sign-in surface
app/src/main/java/com/cresca/app/LoginWebView.kt - Encrypted session
app/src/main/java/com/cresca/app/YtSessionManager.kt - Update checks
app/src/main/java/com/cresca/app/UpdateCheck.kt - Update notices
app/src/main/java/com/cresca/app/UpdateNotify.kt
Other components
- Listener
- YouTube Music
- Lyrics services
- Android media controls
- Release service
Connections 27
- Listener → App screens: uses
- App screens → Home feed: shows
- App screens → YouTube data: requests tracks
- Home feed → YouTube data: loads shelves
- YouTube data → InnerTube API: queries
- InnerTube API → YouTube clients: configures requests
- InnerTube API → YouTube Music: requests data
- YouTube data → YouTube Music: resolves streams
- App screens → Queue engine: manages queue
- Queue engine → Playback service: controls playback
- Playback service → Audio cache: reads and writes
- App screens → Offline downloads: manages offline songs
- App screens → Playlists: manages playlists
- App screens → Liked songs: updates likes
- App screens → Listening history: tracks plays
- App screens → Karaoke lyrics: opens lyrics
- Karaoke lyrics → Lyrics providers: requests lyrics
- Lyrics providers → InnerTube API: fetches captions
- Lyrics providers → Lyrics services: searches providers
- App screens → Music video: opens video
- App screens → Sign-in surface: starts sign-in
- Sign-in surface → Encrypted session: captures session
- InnerTube API → Encrypted session: reads credentials
- Playback service → Android media controls: publishes controls
- App screens → Update checks: checks updates
- Update checks → Release service: checks releases
- Update checks → Update notices: dispatches notices