Commit Graph

21 Commits

Author SHA1 Message Date
Michatec 83752c356f feat(android): refine notification permissions and UI layout
Add explicit `POST_NOTIFICATIONS` permission checks in `SettingsFragment` and `PlayerFragment` before triggering notifications or showing related preferences.

Update the permission launcher in `MainActivity` to provide a "Settings" action that links to the system application details when the notification permission is permanently denied.

Improve UI and system integration by:
* Adjusting `Snackbar` positioning with bottom margins in `MainActivity` and `PlayerFragment`.
* Updating `NotificationSys` to use a new channel ID with `IMPORTANCE_LOW`.
* Configuring `MainActivity` in `activity_main.xml` to handle orientation and screen size configuration changes manually.
2026-05-31 19:27:51 +02:00
Michatec c1bc8b3e19 refactor(android): simplify notification permission request
Remove the explicit permission type from the `RequestPermission`
contract in `MainActivity` to rely on default behavior or
internal contract handling.
2026-05-30 23:11:19 +02:00
Michatec 8835cadd6a fix(ui): specify notification permission type in launcher
Explicitly pass `Manifest.permission.POST_NOTIFICATIONS` to the
`RequestPermission` contract to ensure the correct permission is
requested on Android 13+.
2026-05-30 23:09:50 +02:00
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 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 d40ae6b746 feat(audio): add native audio processing and Google Cast support 2026-04-05 14:01:47 +02:00
Michatec f96bdc6f07 style(ui): hide loading layout directly 2026-03-30 12:01:37 +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 827f709450 chore(license): change project license from MIT to GPLv3 2026-03-30 00:11:37 +02:00
Michatec 46ebf21c06 Add support for Android TV and update dependencies
*   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.
2026-03-28 18:36:50 +01:00
Michatec 5334b88f1d Refactor code and clean up unused resources
- Replace `suspendCoroutine` with `suspendCancellableCoroutine` in helper classes for better cancellation support.
- Replace `bundleOf` with manual `Bundle` initialization in `MediaControllerExt` and `SettingsFragment`.
- Remove unused constants in `Keys.kt` and redundant `onTerminate` override in `Radio.kt`.
- Clean up syntax and remove semicolons in `MainActivity.kt`.
2026-03-24 12:36:04 +01:00
Michachatz c3c2ccfdd9 Add FreeDroidWarn import to MainActivity 2026-03-24 08:04:30 +01:00
Michachatz c9d6cf27ec Show warning on upgrade in MainActivity 2026-03-24 07:37:04 +01:00
Michatec fbafcb9773 - New Version Released
- Updated MainActivity.kt
2026-03-08 16:03:28 +01:00
Michatec 4466654e92 - Fix unused import 2026-01-25 16:33:45 +01:00
Michatec b2de7bd534 - Progress Bar added
- CollectionAdapter.kt updated
- File download optimized
- Housekeeping updated
2026-01-25 16:33:17 +01:00
Michatec 2162c9fb40 Initial commit 2025-04-27 15:07:05 +02:00