Commit Graph

12 Commits

Author SHA1 Message Date
cottongin
7795904d93 fix: detect actual stream format instead of hardcoding 44100 Hz stereo
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
2026-04-27 04:28:14 -04:00
cottongin
e03e32183b build: enable minification for release builds
Enable isMinifyEnabled and add proguardFiles for the release build type.

Made-with: Cursor
2026-03-18 13:36:04 -04:00
cottongin
a5057be3c7 chore: remove Cloudy blur library dependency
Made-with: Cursor
2026-03-18 11:49:33 -04:00
cottongin
effb498896 chore: swap androidx.media for media3-session + media3-common
Made-with: Cursor
2026-03-18 05:55:32 -04:00
cottongin
e1286911cc fix: disable NullSafeMutableLiveData lint check crashing release builds
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
2026-03-11 16:09:22 -04:00
cottongin
d381e80828 fix: polish pass — dark mode, notifications, icons, edge-to-edge
- 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
2026-03-10 21:18:48 -04:00
cottongin
6481d74d95 feat: tabbed station libraries, SomaFM integration, and settings panel
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
2026-03-10 20:16:09 -04:00
cottongin
89b58477c9 feat: add album art resolution with MusicBrainz and fallback chain
Made-with: Cursor
2026-03-10 03:07:32 -04:00
cottongin
cacbb0d98d feat: add Material 3 theme and screen navigation
Made-with: Cursor
2026-03-10 02:37:26 -04:00
cottongin
ca7b757812 feat: add foreground playback service with Stay Connected reconnection
Made-with: Cursor
2026-03-10 02:30:48 -04:00
cottongin
b3d22650c7 feat: add Room entities, DAOs, database, and DataStore preferences
Made-with: Cursor
2026-03-10 01:04:55 -04:00
cottongin
2a9b21b67f feat: scaffold Android project with dependencies
Made-with: Cursor
2026-03-10 00:49:16 -04:00