Commit Graph

318 Commits

Author SHA1 Message Date
dd66302da0 feat(series): replace season tabs with BottomSheet selector
Convert SeasonTabs from horizontal scrollable tabs to a clickable label that opens a ModalBottomSheet listing all seasons for selection.

- Removes unused LazyRow, itemsIndexed, rememberLazyListState imports
- Removes unused SeasonTab private composable and SeasonTabTagPrefix constant
- Adds ArrowDropDown and Check icon imports
- Adds OptIn(ExperimentalMaterial3Api) for ModalBottomSheet
2026-06-06 10:51:12 +00:00
753b461453 refactor(series): remove unused preview functions and imports from SeriesScreen 2026-06-06 12:40:07 +02:00
0bf968a42b feat(ui): make top bars scroll aware 2026-06-06 10:38:40 +00:00
005b3249ff refactor(series): remove unused PlayCircle icon from SeriesComponents 2026-06-06 11:40:21 +02:00
84157868d0 feat(series): show episodes as vertical list 2026-06-06 09:38:15 +00:00
25b65b9048 refactor(app/ui): refactor MediaDetailScaffold
Move everything into the Scaffold for simpler scrolling behavior

pass Modifier to heroContent and content composables
2026-06-06 11:30:03 +02:00
88e8b3a41f refactor(download): share download UI handling 2026-06-05 15:29:06 +00:00
1ad7bc4e23 feat: add exit confirmation dialog on back navigation 2026-06-04 20:57:38 +02:00
e72c421294 feat(playback): pause media playback when screen is in the background 2026-06-04 17:39:59 +02:00
9aec271aa4 fix(playback): manage playback state on activity lifecycle events 2026-06-04 17:39:59 +02:00
717bf3c8e1 fix(playback): Add clamp effect to brightness sliders 2026-06-03 20:59:47 +02:00
80ab591662 Simplify Jellyfin playback url retrieval 2026-06-01 20:54:20 +02:00
8064367e7a Revert "feat(player): enhance video aspect ratio handling and resize mode logic"
This reverts commit b7186be4
2026-05-27 18:40:44 +02:00
dedd4f1da5 fix(settings): update title text style to use titleMedium 2026-05-25 21:27:20 +02:00
b0ed32ef7c feat(series): improve season and episode loading handling 2026-05-25 20:40:10 +02:00
b226eaeba2 feat(downloads): update downloaded item handling 2026-05-23 18:45:27 +00:00
ef56db5d16 feat: redesign settings screen 2026-05-23 12:55:37 +00:00
6e90a9e225 feat(build): update debug and release update URLs in README and build.gradle.kts 2026-05-23 11:52:04 +02:00
8d73974add feat(build): add separate versionCode for debug build type
Renamed purefinVersionCode to purefinReleaseVersionCode and added purefinDebugVersionCode to allow independent version tracking for debug and release builds.
2026-05-23 09:31:47 +00:00
Purefin Dev
2e4eb2fb30 feat: add red debug icon and separate debug update URL
- Replace hardcoded vector fill color with @color/ic_launcher_foreground
- Override foreground to #E53935 (red) for debug builds
- Use manifest placeholders for build-type specific update URLs
- Update release URL to https://apks.t.bbara.hu/apks/purefin-app/update.json
- Add APK repository upload guide to README
2026-05-23 08:50:25 +00:00
4c15474ad9 feat(build): add debug build type with applicationId and version name suffixes 2026-05-22 21:17:20 +02:00
Barnabás Balogh
e82e370e48 Merge pull request #2 from bbara04/feat/brightness-auto-mode
feat/brightness-auto-mode
2026-05-22 18:52:44 +02:00
Purefin Dev
d14eec2346 feat(player): add adaptive brightness mode support
Extend the brightness slider to allow values below 0% which triggers
adaptive/auto brightness mode (screenBrightness = -1.0f). The brightness
indicator shows 'Auto' with an empty bar when in adaptive mode.

- Widen gesture range from [0,1] to [-0.1,1] so a small flick below 0 enters auto mode
- readCurrentBrightness returns -0.1f instead of 0.5f when system auto is active
- applyBrightness writes -1f to LayoutParams when value < 0
- PlayerAdjustmentIndicator displays 'Auto' in tertiary color for negative values
2026-05-22 16:46:22 +00:00
56da98a90b refactor(settings): remove Settings text 2026-05-22 13:42:42 +02:00
Purefin Dev
8da759257c refactor: replace collectAsState with lifecycle-aware collectAsStateWithLifecycle
Migrate all Flow state collection to collectAsStateWithLifecycle for proper lifecycle awareness, ensuring collection stops when the composable is not in the STARTED state.

- Added lifecycle-runtime-compose dependency to app and app-tv modules
- Replaced all collectAsState() calls with collectAsStateWithLifecycle()
- Updated initial parameter to initialValue for the lifecycle-aware variant
2026-05-21 19:47:58 +00:00
1274ab25f9 feat(app): expose test tags for Appium 2026-05-21 10:10:08 +02:00
b7186be46a feat(player): enhance video aspect ratio handling and resize mode logic 2026-05-14 21:44:50 +02:00
4b87f93dee Add Timber file logging and Jellyfin log upload 2026-05-14 18:06:54 +02:00
a0a51ef436 feat: add smart download management with enable and delete options 2026-05-14 14:09:35 +02:00
f60aba5a72 feat: update media selection logic to handle offline state in view models and DTOs 2026-05-14 12:56:48 +02:00
83730188eb feat: add online status handling to navigation and UI components 2026-05-14 12:39:20 +02:00
70f086b5a1 feat: enhance player UI with hidden seek timeline and time display improvements 2026-05-13 23:05:10 +02:00
9fb3672c19 chore(build): update versionCode to use properties from gradle.properties 2026-05-13 22:37:25 +02:00
8950a37341 feat: update app to check for updates on app open 2026-05-13 22:22:53 +02:00
d3b66d4fc5 feat: redesign login screen on both app and app-tv 2026-05-13 21:59:23 +02:00
e69a3a6d4a feat: redesign login screen on both app and app-tv 2026-05-13 21:16:48 +02:00
beae723372 feat: add ReadOnlySetting and corresponding UI component for displaying read-only settings 2026-05-13 19:31:58 +02:00
147fabd895 chore(build): increment app versionCode to 1000012 2026-05-13 19:23:23 +02:00
56aa16755d refactor: simplify layout in EpisodeComponents and remove unused modifiers 2026-05-13 19:19:51 +02:00
2f6d7e77c3 refactor: use common DefaultTopBar component in all components 2026-05-13 17:52:30 +02:00
fbb19e6970 refactor: extract common MediaComponents screen layout skeleton into its own component. 2026-05-13 17:33:46 +02:00
58d418ff65 feat: increment version code to 1000011 for app updates 2026-05-13 17:04:58 +02:00
4e322e7723 feat(player): pause playback on lifecycle stop event for improved resource management 2026-05-09 08:29:27 +02:00
2c0d689767 feat: increment version codes for app updates 2026-05-08 22:36:28 +02:00
26a134869e feat(settings): update settings items to handle null values for improved stability 2026-05-08 22:35:36 +02:00
80f5454afb feat(settings): add app update settings action 2026-05-08 22:29:07 +02:00
af2e8b0dc9 feat: enhance settings screen with dropdown and void setting options for improved user experience 2026-05-08 20:19:05 +02:00
9d7c166bc8 feat: refactor SeriesScreen and ViewModel for improved season episode loading and download handling 2026-05-08 18:47:15 +02:00
7a04c59023 feat: increment version codes for application updates 2026-05-07 20:21:57 +02:00
dc5c324962 feat: add UnwatchedEpisodeBadge and remove 'started' parameter from WatchStateBadge 2026-05-07 19:51:28 +02:00