Commit Graph

79 Commits

Author SHA1 Message Date
Michatec 64d0f3a71f fix(android): resolve compilation error in TV feature detection
Update the Android TV feature check to use the instance-based
`packageManager` instead of the static `PackageManager` class.
This ensures the `hasSystemFeature` method is called correctly on
the available context instance.
2026-05-30 22:23:22 +02:00
Michatec c9122d74f8 refactor(android): fix Android TV feature detection syntax
Correct the usage of `hasSystemFeature` by calling it on the `packageManager` instance instead of the `PackageManager` class. This fixes a compilation error in `MainActivity` and `SettingsFragment`.
2026-05-30 22:18:32 +02:00
Michatec 1879827f4b feat(ui): add test notification preference and optimize Android TV logic
Introduce a "Test Notification" preference in the settings menu to allow users to verify the notification system. This preference is automatically hidden on Android TV devices to maintain a clean UI.

Additionally, refactor notification permission handling to skip requests on Android TV and improve the internal check for Leanback support using a lazy property.

Updated string resources for the new preference across all supported languages.
2026-05-30 22:15:51 +02:00
Michatec 2814ff2cfa feat(android): implement POST_NOTIFICATIONS permission handling
Add NotificationSys to manage system notifications and update
MainActivity to request POST_NOTIFICATIONS permission on Android 13+.
Includes localized string resources for notification testing and
permission error feedback.
2026-05-30 21:17:01 +02:00
Michatec 2688f22a6a chore(app): add IS_DEBUG_ENABLED build config field
Introduce a `IS_DEBUG_ENABLED` boolean flag in `BuildConfig` for both
debug and release build types. This flag is used to suppress update
notifications in `PlayerFragment` when debugging and before its a version released.
2026-05-15 22:20:23 +02:00
Michatec 5d7df9550e feat(ui): add security preference to settings
Add a new security preference in the settings screen that links to the
SECURITY.md file on GitHub. This includes a new security icon and
localized strings for multiple languages.
2026-05-15 21:51:07 +02:00
Michatec 7d6b0fe136 feat: implement station navigation and update to SDK 37
- Implement `seekToNext` and `seekToPrevious` in `PlayerService` to allow switching between radio stations.
- Update `compileSdk` and `targetSdk` to 37 and bump version to 14.6.
- Modify `PlayerService` to remain active while paused to improve playback resumption.
- Modernize media resumption logic using Media3 `isRecent` check instead of legacy extras.
- Refactor `DefaultRenderersFactory` to use non-nullable `AudioSink` return types.
- General code cleanup using KTX extensions (e.g., `View.isEmpty()`) and Kotlin property access syntax.
2026-05-07 13:40:35 +02:00
Michachatz 4974514a81 refactor(ui): Change from normal switch to marquee switches 2026-04-22 06:22:31 +02:00
Michatec 18c28170c5 style(ui): update preference and card icons for presets, equalizer, and visualizer 2026-04-21 19:44:46 +02:00
Michatec 48836334bb refactor(ui): remove unused LanguageSelectionDialog import 2026-04-21 19:26:02 +02:00
Michatec 63d85118a4 feat(ui): add manual language selection to settings 2026-04-21 18:58:53 +02:00
Michatec 08f303997e refactor(ui): use Locale.ROOT for bitrate formatting 2026-04-19 11:27:54 +02:00
Michatec b3de68050c refactor(collection): add TODO for notifyDataSetChanged cleanup 2026-04-18 23:35:27 +02:00
Michatec 297310a784 feat(ui): show snackbar when content is copied to clipboard 2026-04-18 20:08:43 +02:00
Michatec abd9b5ecd9 fix(settings): conditionally enable stream URI editing based on station editing status 2026-04-18 18:39:59 +02:00
Michatec 744a650a91 feat(ui): use checkbox to indicate reordering station status 2026-04-18 17:53:52 +02:00
Michatec 1238a5fba2 style(ui): remove manual card stroke color reset 2026-04-18 16:47:19 +02:00
Michatec cc0b284a7f style(ui): update station card stroke color during reordering and remove play button constraint 2026-04-18 16:31:25 +02:00
Michatec 45576e1577 refactor(player): remove eighth equalizer band preference 2026-04-08 11:08:41 +02:00
Michatec 1212fc61b5 fix(equalizer): update band mappings and reset all bands 2026-04-08 11:04:12 +02:00
Michatec cdf7668d43 refactor(dsp): improve reverb algorithm and update audio presets 2026-04-07 16:10:50 +02:00
Michatec 8c7a8ce7c4 feat(ui): add dedicated station search fragment for television platforms 2026-04-07 12:59:33 +02:00
Michatec d1cc340417 feat(ui): add visualizer button to collection screen 2026-04-07 11:58:23 +02:00
Michatec e0d1770a19 feat(dsp): refine audio processing and visualizer rendering 2026-04-07 11:26:14 +02:00
Michachatz 2e8cc9b243 refactor(helpers): adjust the bass boost value 2026-04-07 01:09:13 +02:00
Michatec 883a4443e9 refactor(dsp): make DSP thread‑safe and add EQ interpolation 2026-04-06 22:58:45 +02:00
Michatec 8ba22a4c09 feat(audio): add runtime sample rate handling and thread safety 2026-04-06 22:44:57 +02:00
Michatec 9d47684f13 feat(ui): add television layouts and improve visualizer performance 2026-04-06 17:17:29 +02:00
Michatec 82993d7c97 feat(ui): add spectrum analyzer visualizer 2026-04-06 16:58:53 +02:00
Michatec 12445a3918 build: rename native audio library from radio to dsp 2026-04-06 15:16:41 +02:00
Michatec bc38742eae perf(audio): adjust audio processing presets and limiters 2026-04-06 15:14:01 +02:00
Michatec 99499ad174 perf(audio): optimize signal processing with NEON and block-based gains 2026-04-06 14:29:08 +02:00
Michatec 0d35770375 feat(audio): add 10-band equalizer and audio presets 2026-04-06 13:27:53 +02:00
Michatec 53abe918ca fix(player): improve cast player integration and service lifecycle management 2026-04-05 18:19:00 +02:00
Michatec bd3ad427fa ui(settings): move app version to top of preference screen 2026-04-05 17:24:39 +02:00
Michatec 7b2cfb4b17 feat(cast): implement Google Cast support and expanded controller activity 2026-04-05 17:15:48 +02:00
Michatec 0796bc8ef4 build(deps): bump version to 14.5 and update cast framework dependency 2026-04-05 14:47:51 +02:00
Michatec 1564fa3dc4 feat(audio): add native audio processing and Google Cast support 2026-04-05 14:38:05 +02:00
Michatec d40ae6b746 feat(audio): add native audio processing and Google Cast support 2026-04-05 14:01:47 +02:00
Michatec d270574365 refactor(helpers): minor code cleanup and documentation fixes 2026-03-30 15:37:35 +02:00
Michatec f96bdc6f07 style(ui): hide loading layout directly 2026-03-30 12:01:37 +02:00
Michatec 7d63f16c2c chore: cleanup AppThemeHelper and add loading string 2026-03-30 11:34:16 +02:00
Michatec 47ff40e676 style(ui): remove navigation bar color overrides and redundant v27 styles 2026-03-30 11:12:21 +02:00
Michatec dad709f5df feat(ui): implement edge-to-edge support and improve splash transition
- Enable edge-to-edge display in `MainActivity` and handle window insets in `PlayerFragment`.
- Add a fade-out animation when hiding the loading overlay.
- Sync player state with the controller during setup and reset playing state in preferences on service destruction.
- Simplify splash screen drawable and update background color attributes in layout.
- Remove manual navigation bar color overrides.
2026-03-30 11:06:41 +02:00
Michatec 89b13e152c refactor(ui): improve intent handling and collection view state
- Update `handleStartIntent` and `handleStartPlayer` in `PlayerFragment` to ensure intents are only cleared if successfully handled and stations are valid.
- Refine star icon rendering in `CollectionAdapter` by clearing color filters when appropriate.
- Remove obsolete commented-out code and update log messages in `PlayerFragment`, `PlayerService`, and `LayoutHolder`.
- Uncomment maintenance preference updates in `SettingsFragment`.
- Reformat code for better readability in `CollectionAdapter`.
2026-03-30 10:22:05 +02:00
Michatec 1eefe1acc4 Merge remote-tracking branch 'origin/main' 2026-03-30 09:18:34 +02:00
Michatec 1fa8102e1c feat(ui): implement station reordering via DPAD for TV navigation 2026-03-30 09:18:15 +02:00
Michatec 827f709450 chore(license): change project license from MIT to GPLv3 2026-03-30 00:11:37 +02:00
Michatec d0e412ca83 feat(ui): save theme selection to preferences 2026-03-28 22:37:55 +01:00
Michatec 93008f7247 feat(ui): handle theme selection dialog results and update summary 2026-03-28 22:29:02 +01:00