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.
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`.
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.
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.
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.
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.
- 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.
- 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.
- 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`.