Introduce a new custom theme feature that allows users to personalize the application background color using RGB sliders, hex input, or a set of predefined palettes.
Key changes include:
* **Custom Theme Engine**: Added `CustomThemeFragment` and `ThemeHelper` to manage color selection and application. The UI dynamically updates the background color across the `MainActivity` and `PlayerFragment` when preferences change.
* **Android TV Support**: Provided a specialized layout for television devices (`fragment_custom_theme.xml` in `layout-television`) with optimized focus handling for D-pad navigation.
* **Share Feature**: Implemented a "Share App" preference in `SettingsFragment` that triggers a standard Android share intent and displays a thank-you notification upon use.
* **Localization**: Added Ukrainian language support and updated string resources for multiple locales (DE, DA, EL, FR, JA, NL, PL, RU) to include the new theme and share options.
* **Persistence**: Updated `PreferencesHelper` and `Keys` to store theme-related settings, including the enabled state, selected color, and predefined color index.
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 the `notification_channel_description` string resource to the
default and all localized string files to provide context for the
notification channel.
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.
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 initial Android TV support, including `LEANBACK_LAUNCHER` intent filter, hardware feature declarations, and television-specific layouts for the player, search results, and dialogs.
* Add a splash/loading screen for the TV interface and a dedicated `SplashTheme`.
* Improve DPAD navigation by adding `OnKeyListener` for station cards and allowing focus on internal elements.
* Update `LayoutHolder` and `PlayerFragment` to handle TV layouts and add previous/next station navigation buttons.
* Adjust `PreferencesHelper` to disable station editing by default on TV devices.
* Update `androidx.media3` to v1.10.0, `work-runtime-ktx` to v2.11.2, and add `androidx.leanback` dependency.
* Bump `versionCode` to 144 and `versionName` to 14.4.
* Refactor `PlayerService` to simplify sleep timer cancellation logic.
* Remove stale copyright headers and license comments from several Kotlin files.