AudioEngine previously hardcoded 44100 Hz stereo for AudioTrack and
MediaCodec, causing streams at other sample rates (22050, 48000, etc.)
to play at wrong speed and mono streams to be misinterpreted.
Now defers AudioTrack/MediaCodec creation until the first MP3 frame
arrives, reads the actual sample rate and channel mode from the frame
header, and configures output accordingly. Timing constants (frame
duration, frames-per-second) are computed dynamically. Adds
INFO_OUTPUT_FORMAT_CHANGED handling as a safety net and surfaces
detected format (e.g. "44.1 kHz Stereo") in the Now Playing UI.
Made-with: Cursor
The lintVitalAnalyzeRelease task fails with an IncompatibleClassChangeError
in NonNullableMutableLiveDataDetector, which is a known bug in the lint
library. Disabling this specific check unblocks release APK builds.
Made-with: Cursor
- Wrap SettingsScreen in Scaffold to fix invisible text in dark mode
- Fix notification showing raw ICY metadata instead of parsed track info
- Add proper white-on-transparent notification icon
- Create branded adaptive launcher icon (amber tower on BlueGray900)
- Add edge-to-edge support with proper window inset handling
- Add About section to Settings with version and app info
- Enable BuildConfig generation for version display
Made-with: Cursor
Add tabbed playlist UI with SomaFM as a built-in library including live
listener counts, station hiding, and stream quality selection. Implement
settings panel with quality preferences, listening history, and playlist
import/export improvements. Includes DB migrations 1-4, SomaFM seed
data, stream resolver, and now-playing history logging.
Made-with: Cursor