From 3f7c1966af0f0692c25f860b71d9ca32816e9b4f Mon Sep 17 00:00:00 2001 From: Barnabas Balogh Date: Thu, 23 Apr 2026 20:42:59 +0200 Subject: [PATCH] Collapse shared modules into data domain and ui-common --- app-tv/build.gradle.kts | 18 ++------ app/build.gradle.kts | 18 ++------ core/data/build.gradle.kts | 33 --------------- core/download/build.gradle.kts | 40 ------------------ core/image/build.gradle.kts | 12 ------ core/model/build.gradle.kts | 16 ------- core/navigation/build.gradle.kts | 38 ----------------- data/{jellyfin => }/build.gradle.kts | 11 +++-- data/catalog/build.gradle.kts | 41 ------------------ data/offline/build.gradle.kts | 41 ------------------ .../core/data/AuthenticationRepository.kt | 0 .../core/data/DownloadMediaSourceResolver.kt | 0 .../purefin/core/data/EpisodeSeriesLookup.kt | 0 .../bbara/purefin/core/data/HomeRepository.kt | 0 .../purefin/core/data/MediaCatalogReader.kt | 0 .../purefin/core/data/MediaProgressWriter.kt | 0 .../bbara/purefin/core/data/NetworkMonitor.kt | 0 .../purefin/core/data/OfflineCatalogReader.kt | 0 .../purefin/core/data/OfflineCatalogStore.kt | 0 .../core/data/PlayableMediaRepository.kt | 0 .../bbara/purefin/core/data/PlaybackMethod.kt | 0 .../core/data/PlaybackProfileFamily.kt | 0 .../core/data/PlaybackProgressReporter.kt | 0 .../core/data/PlaybackReportContext.kt | 0 .../purefin/core/data/SessionBootstrapper.kt | 0 .../purefin/core/data/SmartDownloadStore.kt | 0 .../data/session/UserSessionRepository.kt | 0 .../bbara/purefin/core/image/ArtworkKind.kt | 0 .../purefin/core/image/ImageUrlBuilder.kt | 0 .../hu/bbara/purefin/core/model/CastMember.kt | 0 .../hu/bbara/purefin/core/model/Episode.kt | 0 .../hu/bbara/purefin/core/model/Library.kt | 0 .../bbara/purefin/core/model/LibraryKind.kt | 0 .../java/hu/bbara/purefin/core/model/Media.kt | 0 .../hu/bbara/purefin/core/model/MediaKind.kt | 0 .../bbara/purefin/core/model/MediaSegment.kt | 0 .../java/hu/bbara/purefin/core/model/Movie.kt | 0 .../hu/bbara/purefin/core/model/Season.kt | 0 .../hu/bbara/purefin/core/model/Series.kt | 0 .../purefin/core/navigation/UuidSerializer.kt | 0 .../data/catalog/CompositeMediaRepository.kt | 0 .../catalog/DefaultEpisodeSeriesLookup.kt | 0 .../catalog/InMemoryAppContentRepository.kt | 0 .../data/catalog/InMemoryMediaRepository.kt | 0 .../data/catalog/MediaRepositoryModule.kt | 0 .../data/catalog/OfflineMediaRepository.kt | 0 .../jellyfin/ConnectivityNetworkMonitor.kt | 0 .../DefaultPlayableMediaRepository.kt | 0 .../data/jellyfin/JellyfinBindingsModule.kt | 0 .../data/jellyfin/JellyfinNetworkModule.kt | 0 .../JellyfinPlaybackProgressReporter.kt | 0 .../data/jellyfin/client/JellyfinApiClient.kt | 0 .../client/JellyfinAuthInterceptor.kt | 0 .../download/JellyfinDownloadMappers.kt | 0 .../JellyfinDownloadMediaSourceResolver.kt | 0 .../jellyfin/playback/AndroidCodecCatalog.kt | 0 .../AndroidDeviceProfileCapabilities.kt | 0 .../jellyfin/playback/CodecDebugHelper.kt | 0 .../JellyfinAndroidMobileDeviceProfile.kt | 0 .../JellyfinAndroidTvDeviceProfile.kt | 0 .../playback/JellyfinPlaybackResolver.kt | 0 .../jellyfin/playback/PlaybackCacheKeys.kt | 0 .../jellyfin/playback/PlaybackDecision.kt | 0 .../playback/PlaybackDecisionResolver.kt | 0 .../playback/PlaybackProfileModule.kt | 0 .../playback/PlaybackProfilePolicy.kt | 0 .../JellyfinAuthenticationRepository.kt | 0 .../session/JellyfinSessionBootstrapper.kt | 0 .../data/jellyfin/session/UserSession.kt | 0 .../jellyfin/session/UserSessionModule.kt | 0 .../jellyfin/session/UserSessionRepository.kt | 0 .../jellyfin/session/UserSessionSerializer.kt | 0 .../data/offline/OfflineBindingsModule.kt | 0 .../data/offline/RoomOfflineCatalogStore.kt | 0 .../data/offline/RoomSmartDownloadStore.kt | 0 .../purefin/data/offline/cache/HomeCache.kt | 0 .../data/offline/cache/HomeCacheModule.kt | 0 .../data/offline/cache/HomeCacheSerializer.kt | 0 .../data/offline/room/MediaDatabaseModule.kt | 0 .../data/offline/room/RoomRelations.kt | 0 .../data/offline/room/UuidConverters.kt | 0 .../data/offline/room/dao/CastMemberDao.kt | 0 .../data/offline/room/dao/EpisodeDao.kt | 0 .../data/offline/room/dao/LibraryDao.kt | 0 .../purefin/data/offline/room/dao/MovieDao.kt | 0 .../data/offline/room/dao/SeasonDao.kt | 0 .../data/offline/room/dao/SeriesDao.kt | 0 .../data/offline/room/dao/SmartDownloadDao.kt | 0 .../offline/room/entity/CastMemberEntity.kt | 0 .../data/offline/room/entity/EpisodeEntity.kt | 0 .../data/offline/room/entity/LibraryEntity.kt | 0 .../data/offline/room/entity/MovieEntity.kt | 0 .../data/offline/room/entity/SeasonEntity.kt | 0 .../data/offline/room/entity/SeriesEntity.kt | 0 .../room/entity/SmartDownloadEntity.kt | 0 .../room/offline/OfflineMediaDatabase.kt | 0 .../OfflineRoomMediaLocalDataSource.kt | 0 .../catalog/DefaultEpisodeSeriesLookupTest.kt | 0 .../playback/AndroidDeviceProfileTest.kt | 0 .../playback/PlaybackCacheKeysTest.kt | 0 .../playback/PlaybackDecisionResolverTest.kt | 0 {core/player => domain}/build.gradle.kts | 10 ++--- .../core/download/DownloadControllerModule.kt | 0 .../purefin/core/download/DownloadModule.kt | 0 .../purefin/core/download/DownloadState.kt | 0 .../core/download/MediaDownloadController.kt | 0 .../core/download/MediaDownloadManager.kt | 0 .../core/download/PurefinDownloadService.kt | 0 .../purefin/core/navigation/EpisodeDto.kt | 0 .../purefin/core/navigation/LibraryDto.kt | 0 .../bbara/purefin/core/navigation/MovieDto.kt | 0 .../core/navigation/NavigationManager.kt | 0 .../navigation/NavigationManagerModule.kt | 0 .../hu/bbara/purefin/core/navigation/Route.kt | 0 .../purefin/core/navigation/SeriesDto.kt | 0 .../player/manager/MediaSegmentManager.kt | 0 .../core/player/manager/PlayerManager.kt | 0 .../core/player/manager/ProgressManager.kt | 0 .../core/player/manager/TrackMapper.kt | 0 .../purefin/core/player/model/MediaContext.kt | 0 .../core/player/model/MetadataState.kt | 0 .../player/model/PlaybackProgressSnapshot.kt | 0 .../player/model/PlaybackStateSnapshot.kt | 0 .../core/player/model/PlayerUiModels.kt | 0 .../core/player/model/SegmentStatus.kt | 0 .../player/module/PlaybackNetworkModule.kt | 0 .../core/player/module/VideoPlayerModule.kt | 0 .../core/player/preference/TrackMatcher.kt | 0 .../core/player/preference/TrackPreference.kt | 0 .../preference/TrackPreferencesModule.kt | 0 .../preference/TrackPreferencesRepository.kt | 0 .../preference/TrackPreferencesSerializer.kt | 0 .../viewmodel/ControlsAutoHidePolicy.kt | 0 .../core/player/viewmodel/PlayerViewModel.kt | 0 .../purefin/core/ui/model/MediaUiModel.kt | 0 .../feature/browse/home/AppViewModel.kt | 0 .../purefin/feature/browse/home/HomeModels.kt | 0 .../browse/library/LibraryViewModel.kt | 0 .../content/episode/EpisodeScreenViewModel.kt | 0 .../content/movie/MovieScreenViewModel.kt | 0 .../feature/content/series/SeriesViewModel.kt | 0 .../feature/downloads/ActiveDownloadItem.kt | 0 .../feature/downloads/DownloadsViewModel.kt | 0 .../purefin/feature/login/LoginViewModel.kt | 0 .../purefin/feature/search/SearchResult.kt | 0 .../purefin/feature/search/SearchViewModel.kt | 0 .../src/main/res/values/strings.xml | 0 .../core/download/DownloadModuleTest.kt | 0 .../core/navigation/RouteSerializationTest.kt | 0 .../viewmodel/ControlsAutoHidePolicyTest.kt | 0 feature/browse/build.gradle.kts | 41 ------------------ feature/content/build.gradle.kts | 40 ------------------ feature/downloads/build.gradle.kts | 42 ------------------- feature/login/build.gradle.kts | 36 ---------------- feature/search/build.gradle.kts | 38 ----------------- settings.gradle.kts | 18 ++------ {core/ui => ui-common}/build.gradle.kts | 4 +- .../ui/common/badge/UnwatchedEpisodeBadge.kt | 0 .../ui/common/badge/WatchStateBadge.kt | 0 .../purefin/ui/common/bar/MediaProgressBar.kt | 0 .../ui/common/button/CircularIconButton.kt | 0 .../ui/common/button/GhostIconButton.kt | 0 .../ui/common/button/MediaActionButton.kt | 0 .../ui/common/button/MediaResumeButton.kt | 0 .../ui/common/button/PurefinIconButton.kt | 0 .../ui/common/button/PurefinTextButton.kt | 0 .../ui/common/image/PurefinAsyncImage.kt | 0 .../ui/common/media/MediaDetailComponents.kt | 0 .../ui/common/media/MediaMetadataFlowRow.kt | 0 .../ui/common/media/MediaPlayButtonLabel.kt | 0 .../ui/common/media/MediaPlaybackSettings.kt | 0 .../purefin/ui/common/media/MediaSynopsis.kt | 0 .../textfield/PurefinComplexTextField.kt | 0 .../common/textfield/PurefinPasswordField.kt | 0 .../ui/common/visual/TimedVisibility.kt | 0 .../purefin/ui/screen/login/LoginContent.kt | 0 .../PlayerLoadingErrorEndCardContent.kt | 0 .../player/components/PlayerSeekBarTrack.kt | 0 .../ui/screen/waiting/WaitingScreen.kt | 0 .../common/media/MediaPlayButtonLabelTest.kt | 0 180 files changed, 21 insertions(+), 476 deletions(-) delete mode 100644 core/data/build.gradle.kts delete mode 100644 core/download/build.gradle.kts delete mode 100644 core/image/build.gradle.kts delete mode 100644 core/model/build.gradle.kts delete mode 100644 core/navigation/build.gradle.kts rename data/{jellyfin => }/build.gradle.kts (80%) delete mode 100644 data/catalog/build.gradle.kts delete mode 100644 data/offline/build.gradle.kts rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/AuthenticationRepository.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/DownloadMediaSourceResolver.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/EpisodeSeriesLookup.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/HomeRepository.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/MediaCatalogReader.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/MediaProgressWriter.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/NetworkMonitor.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/OfflineCatalogReader.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/OfflineCatalogStore.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/PlayableMediaRepository.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/PlaybackMethod.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/PlaybackProfileFamily.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/PlaybackProgressReporter.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/PlaybackReportContext.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/SessionBootstrapper.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/SmartDownloadStore.kt (100%) rename {core/data => data}/src/main/java/hu/bbara/purefin/core/data/session/UserSessionRepository.kt (100%) rename {core/image => data}/src/main/java/hu/bbara/purefin/core/image/ArtworkKind.kt (100%) rename {core/image => data}/src/main/java/hu/bbara/purefin/core/image/ImageUrlBuilder.kt (100%) rename {core/model => data}/src/main/java/hu/bbara/purefin/core/model/CastMember.kt (100%) rename {core/model => data}/src/main/java/hu/bbara/purefin/core/model/Episode.kt (100%) rename {core/model => data}/src/main/java/hu/bbara/purefin/core/model/Library.kt (100%) rename {core/model => data}/src/main/java/hu/bbara/purefin/core/model/LibraryKind.kt (100%) rename {core/model => data}/src/main/java/hu/bbara/purefin/core/model/Media.kt (100%) rename {core/model => data}/src/main/java/hu/bbara/purefin/core/model/MediaKind.kt (100%) rename {core/model => data}/src/main/java/hu/bbara/purefin/core/model/MediaSegment.kt (100%) rename {core/model => data}/src/main/java/hu/bbara/purefin/core/model/Movie.kt (100%) rename {core/model => data}/src/main/java/hu/bbara/purefin/core/model/Season.kt (100%) rename {core/model => data}/src/main/java/hu/bbara/purefin/core/model/Series.kt (100%) rename {core/navigation => data}/src/main/java/hu/bbara/purefin/core/navigation/UuidSerializer.kt (100%) rename data/{catalog => }/src/main/java/hu/bbara/purefin/data/catalog/CompositeMediaRepository.kt (100%) rename data/{catalog => }/src/main/java/hu/bbara/purefin/data/catalog/DefaultEpisodeSeriesLookup.kt (100%) rename data/{catalog => }/src/main/java/hu/bbara/purefin/data/catalog/InMemoryAppContentRepository.kt (100%) rename data/{catalog => }/src/main/java/hu/bbara/purefin/data/catalog/InMemoryMediaRepository.kt (100%) rename data/{catalog => }/src/main/java/hu/bbara/purefin/data/catalog/MediaRepositoryModule.kt (100%) rename data/{catalog => }/src/main/java/hu/bbara/purefin/data/catalog/OfflineMediaRepository.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/ConnectivityNetworkMonitor.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/DefaultPlayableMediaRepository.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/JellyfinBindingsModule.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/JellyfinNetworkModule.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/JellyfinPlaybackProgressReporter.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/client/JellyfinApiClient.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/client/JellyfinAuthInterceptor.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/download/JellyfinDownloadMappers.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/download/JellyfinDownloadMediaSourceResolver.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/playback/AndroidCodecCatalog.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/playback/AndroidDeviceProfileCapabilities.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/playback/CodecDebugHelper.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/playback/JellyfinAndroidMobileDeviceProfile.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/playback/JellyfinAndroidTvDeviceProfile.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/playback/JellyfinPlaybackResolver.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackCacheKeys.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackDecision.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackDecisionResolver.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackProfileModule.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackProfilePolicy.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/session/JellyfinAuthenticationRepository.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/session/JellyfinSessionBootstrapper.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSession.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSessionModule.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSessionRepository.kt (100%) rename data/{jellyfin => }/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSessionSerializer.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/OfflineBindingsModule.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/RoomOfflineCatalogStore.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/RoomSmartDownloadStore.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/cache/HomeCache.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/cache/HomeCacheModule.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/cache/HomeCacheSerializer.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/MediaDatabaseModule.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/RoomRelations.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/UuidConverters.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/dao/CastMemberDao.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/dao/EpisodeDao.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/dao/LibraryDao.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/dao/MovieDao.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/dao/SeasonDao.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/dao/SeriesDao.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/dao/SmartDownloadDao.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/entity/CastMemberEntity.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/entity/EpisodeEntity.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/entity/LibraryEntity.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/entity/MovieEntity.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/entity/SeasonEntity.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/entity/SeriesEntity.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/entity/SmartDownloadEntity.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/offline/OfflineMediaDatabase.kt (100%) rename data/{offline => }/src/main/java/hu/bbara/purefin/data/offline/room/offline/OfflineRoomMediaLocalDataSource.kt (100%) rename data/{catalog => }/src/test/java/hu/bbara/purefin/data/catalog/DefaultEpisodeSeriesLookupTest.kt (100%) rename data/{jellyfin => }/src/test/java/hu/bbara/purefin/data/jellyfin/playback/AndroidDeviceProfileTest.kt (100%) rename data/{jellyfin => }/src/test/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackCacheKeysTest.kt (100%) rename data/{jellyfin => }/src/test/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackDecisionResolverTest.kt (100%) rename {core/player => domain}/build.gradle.kts (83%) rename {core/download => domain}/src/main/java/hu/bbara/purefin/core/download/DownloadControllerModule.kt (100%) rename {core/download => domain}/src/main/java/hu/bbara/purefin/core/download/DownloadModule.kt (100%) rename {core/download => domain}/src/main/java/hu/bbara/purefin/core/download/DownloadState.kt (100%) rename {core/download => domain}/src/main/java/hu/bbara/purefin/core/download/MediaDownloadController.kt (100%) rename {core/download => domain}/src/main/java/hu/bbara/purefin/core/download/MediaDownloadManager.kt (100%) rename {core/download => domain}/src/main/java/hu/bbara/purefin/core/download/PurefinDownloadService.kt (100%) rename {core/navigation => domain}/src/main/java/hu/bbara/purefin/core/navigation/EpisodeDto.kt (100%) rename {core/navigation => domain}/src/main/java/hu/bbara/purefin/core/navigation/LibraryDto.kt (100%) rename {core/navigation => domain}/src/main/java/hu/bbara/purefin/core/navigation/MovieDto.kt (100%) rename {core/navigation => domain}/src/main/java/hu/bbara/purefin/core/navigation/NavigationManager.kt (100%) rename {core/navigation => domain}/src/main/java/hu/bbara/purefin/core/navigation/NavigationManagerModule.kt (100%) rename {core/navigation => domain}/src/main/java/hu/bbara/purefin/core/navigation/Route.kt (100%) rename {core/navigation => domain}/src/main/java/hu/bbara/purefin/core/navigation/SeriesDto.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/manager/MediaSegmentManager.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/manager/PlayerManager.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/manager/ProgressManager.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/manager/TrackMapper.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/model/MediaContext.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/model/MetadataState.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/model/PlaybackProgressSnapshot.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/model/PlaybackStateSnapshot.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/model/PlayerUiModels.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/model/SegmentStatus.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/module/PlaybackNetworkModule.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/module/VideoPlayerModule.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/preference/TrackMatcher.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreference.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreferencesModule.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreferencesRepository.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreferencesSerializer.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/viewmodel/ControlsAutoHidePolicy.kt (100%) rename {core/player => domain}/src/main/java/hu/bbara/purefin/core/player/viewmodel/PlayerViewModel.kt (100%) rename {core/model => domain}/src/main/java/hu/bbara/purefin/core/ui/model/MediaUiModel.kt (100%) rename {feature/browse => domain}/src/main/java/hu/bbara/purefin/feature/browse/home/AppViewModel.kt (100%) rename {feature/browse => domain}/src/main/java/hu/bbara/purefin/feature/browse/home/HomeModels.kt (100%) rename {feature/browse => domain}/src/main/java/hu/bbara/purefin/feature/browse/library/LibraryViewModel.kt (100%) rename {feature/content => domain}/src/main/java/hu/bbara/purefin/feature/content/episode/EpisodeScreenViewModel.kt (100%) rename {feature/content => domain}/src/main/java/hu/bbara/purefin/feature/content/movie/MovieScreenViewModel.kt (100%) rename {feature/content => domain}/src/main/java/hu/bbara/purefin/feature/content/series/SeriesViewModel.kt (100%) rename {feature/downloads => domain}/src/main/java/hu/bbara/purefin/feature/downloads/ActiveDownloadItem.kt (100%) rename {feature/downloads => domain}/src/main/java/hu/bbara/purefin/feature/downloads/DownloadsViewModel.kt (100%) rename {feature/login => domain}/src/main/java/hu/bbara/purefin/feature/login/LoginViewModel.kt (100%) rename {feature/search => domain}/src/main/java/hu/bbara/purefin/feature/search/SearchResult.kt (100%) rename {feature/search => domain}/src/main/java/hu/bbara/purefin/feature/search/SearchViewModel.kt (100%) rename {core/download => domain}/src/main/res/values/strings.xml (100%) rename {core/download => domain}/src/test/java/hu/bbara/purefin/core/download/DownloadModuleTest.kt (100%) rename {core/navigation => domain}/src/test/java/hu/bbara/purefin/core/navigation/RouteSerializationTest.kt (100%) rename {core/player => domain}/src/test/java/hu/bbara/purefin/core/player/viewmodel/ControlsAutoHidePolicyTest.kt (100%) delete mode 100644 feature/browse/build.gradle.kts delete mode 100644 feature/content/build.gradle.kts delete mode 100644 feature/downloads/build.gradle.kts delete mode 100644 feature/login/build.gradle.kts delete mode 100644 feature/search/build.gradle.kts rename {core/ui => ui-common}/build.gradle.kts (92%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/badge/UnwatchedEpisodeBadge.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/badge/WatchStateBadge.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/bar/MediaProgressBar.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/button/CircularIconButton.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/button/GhostIconButton.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/button/MediaActionButton.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/button/MediaResumeButton.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/button/PurefinIconButton.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/button/PurefinTextButton.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/image/PurefinAsyncImage.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/media/MediaDetailComponents.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/media/MediaMetadataFlowRow.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/media/MediaPlayButtonLabel.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/media/MediaPlaybackSettings.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/media/MediaSynopsis.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/textfield/PurefinComplexTextField.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/textfield/PurefinPasswordField.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/common/visual/TimedVisibility.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/screen/login/LoginContent.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/screen/player/components/PlayerLoadingErrorEndCardContent.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/screen/player/components/PlayerSeekBarTrack.kt (100%) rename {core/ui => ui-common}/src/main/java/hu/bbara/purefin/ui/screen/waiting/WaitingScreen.kt (100%) rename {core/ui => ui-common}/src/test/java/hu/bbara/purefin/ui/common/media/MediaPlayButtonLabelTest.kt (100%) diff --git a/app-tv/build.gradle.kts b/app-tv/build.gradle.kts index a6be6317..1abda61b 100644 --- a/app-tv/build.gradle.kts +++ b/app-tv/build.gradle.kts @@ -51,21 +51,9 @@ kotlin { } dependencies { - implementation(project(":core:model")) - implementation(project(":core:image")) - implementation(project(":core:ui")) - implementation(project(":core:data")) - implementation(project(":core:navigation")) - implementation(project(":core:download")) - implementation(project(":core:player")) - implementation(project(":data:jellyfin")) - implementation(project(":data:offline")) - implementation(project(":data:catalog")) - implementation(project(":feature:browse")) - implementation(project(":feature:search")) - implementation(project(":feature:content")) - implementation(project(":feature:downloads")) - implementation(project(":feature:login")) + implementation(project(":data")) + implementation(project(":domain")) + implementation(project(":ui-common")) implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.lifecycle.viewmodel.compose) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 390b59c4..8b98edff 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -50,21 +50,9 @@ kotlin { } dependencies { - implementation(project(":core:model")) - implementation(project(":core:image")) - implementation(project(":core:ui")) - implementation(project(":core:data")) - implementation(project(":core:navigation")) - implementation(project(":core:download")) - implementation(project(":core:player")) - implementation(project(":data:jellyfin")) - implementation(project(":data:offline")) - implementation(project(":data:catalog")) - implementation(project(":feature:browse")) - implementation(project(":feature:search")) - implementation(project(":feature:content")) - implementation(project(":feature:downloads")) - implementation(project(":feature:login")) + implementation(project(":data")) + implementation(project(":domain")) + implementation(project(":ui-common")) implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.lifecycle.viewmodel.compose) diff --git a/core/data/build.gradle.kts b/core/data/build.gradle.kts deleted file mode 100644 index 8b8e1687..00000000 --- a/core/data/build.gradle.kts +++ /dev/null @@ -1,33 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - -plugins { - alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) -} - -android { - namespace = "hu.bbara.purefin.core.data" - compileSdk = 36 - - defaultConfig { - minSdk = 29 - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } -} - -kotlin { - compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) - } -} - -dependencies { - implementation(project(":core:model")) - implementation(libs.media3.common) - implementation(libs.kotlinx.coroutines.core) - testImplementation(libs.junit) -} diff --git a/core/download/build.gradle.kts b/core/download/build.gradle.kts deleted file mode 100644 index 39affc24..00000000 --- a/core/download/build.gradle.kts +++ /dev/null @@ -1,40 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - -plugins { - alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) - alias(libs.plugins.hilt) - alias(libs.plugins.ksp) -} - -android { - namespace = "hu.bbara.purefin.core.download" - compileSdk = 36 - - defaultConfig { - minSdk = 29 - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } -} - -kotlin { - compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) - } -} - -dependencies { - implementation(project(":core:model")) - implementation(project(":core:data")) - implementation(libs.kotlinx.coroutines.core) - implementation(libs.hilt) - ksp(libs.hilt.compiler) - implementation(libs.medi3.exoplayer) - implementation(libs.media3.datasource.okhttp) - implementation(libs.okhttp) - testImplementation(libs.junit) -} diff --git a/core/image/build.gradle.kts b/core/image/build.gradle.kts deleted file mode 100644 index 3c4e61fa..00000000 --- a/core/image/build.gradle.kts +++ /dev/null @@ -1,12 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - -plugins { - alias(libs.plugins.kotlin.jvm) -} - -kotlin { - compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) - } - jvmToolchain(11) -} diff --git a/core/model/build.gradle.kts b/core/model/build.gradle.kts deleted file mode 100644 index ffa8bee8..00000000 --- a/core/model/build.gradle.kts +++ /dev/null @@ -1,16 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - -plugins { - alias(libs.plugins.kotlin.jvm) -} - -kotlin { - compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) - } - jvmToolchain(11) -} - -dependencies { - implementation(project(":core:image")) -} \ No newline at end of file diff --git a/core/navigation/build.gradle.kts b/core/navigation/build.gradle.kts deleted file mode 100644 index b42362cd..00000000 --- a/core/navigation/build.gradle.kts +++ /dev/null @@ -1,38 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - -plugins { - alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) - alias(libs.plugins.kotlin.serialization) - alias(libs.plugins.hilt) - alias(libs.plugins.ksp) -} - -android { - namespace = "hu.bbara.purefin.core.navigation" - compileSdk = 36 - - defaultConfig { - minSdk = 29 - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } -} - -kotlin { - compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) - } -} - -dependencies { - implementation(libs.androidx.navigation3.runtime) - implementation(libs.kotlinx.serialization.json) - implementation(libs.kotlinx.coroutines.core) - implementation(libs.hilt) - ksp(libs.hilt.compiler) - testImplementation(libs.junit) -} diff --git a/data/jellyfin/build.gradle.kts b/data/build.gradle.kts similarity index 80% rename from data/jellyfin/build.gradle.kts rename to data/build.gradle.kts index 45caefaf..c0b72bbc 100644 --- a/data/jellyfin/build.gradle.kts +++ b/data/build.gradle.kts @@ -9,7 +9,7 @@ plugins { } android { - namespace = "hu.bbara.purefin.data.jellyfin" + namespace = "hu.bbara.purefin.data" compileSdk = 36 defaultConfig { @@ -29,12 +29,9 @@ kotlin { } dependencies { - implementation(project(":core:model")) - implementation(project(":core:data")) - implementation(project(":core:image")) - implementation(project(":core:navigation")) - implementation(libs.jellyfin.core) implementation(libs.media3.common) + implementation(libs.kotlinx.coroutines.core) + implementation(libs.jellyfin.core) implementation(libs.kotlinx.serialization.json) implementation(libs.slf4j.api) implementation(libs.hilt) @@ -42,5 +39,7 @@ dependencies { implementation(libs.datastore) implementation(libs.okhttp) implementation(libs.logging.interceptor) + implementation(libs.androidx.room.ktx) + ksp(libs.androidx.room.compiler) testImplementation(libs.junit) } diff --git a/data/catalog/build.gradle.kts b/data/catalog/build.gradle.kts deleted file mode 100644 index d253d17f..00000000 --- a/data/catalog/build.gradle.kts +++ /dev/null @@ -1,41 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - -plugins { - alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) - alias(libs.plugins.hilt) - alias(libs.plugins.ksp) -} - -android { - namespace = "hu.bbara.purefin.data.catalog" - compileSdk = 36 - - defaultConfig { - minSdk = 29 - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } -} - -kotlin { - compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) - } -} - -dependencies { - implementation(project(":core:model")) - implementation(project(":core:data")) - implementation(project(":core:image")) - implementation(project(":data:jellyfin")) - implementation(project(":data:offline")) - implementation(libs.jellyfin.core) - implementation(libs.hilt) - ksp(libs.hilt.compiler) - implementation(libs.datastore) - testImplementation(libs.junit) -} diff --git a/data/offline/build.gradle.kts b/data/offline/build.gradle.kts deleted file mode 100644 index 110540c1..00000000 --- a/data/offline/build.gradle.kts +++ /dev/null @@ -1,41 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - -plugins { - alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) - alias(libs.plugins.kotlin.serialization) - alias(libs.plugins.hilt) - alias(libs.plugins.ksp) -} - -android { - namespace = "hu.bbara.purefin.data.offline" - compileSdk = 36 - - defaultConfig { - minSdk = 29 - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } -} - -kotlin { - compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) - } -} - -dependencies { - implementation(project(":core:model")) - implementation(project(":core:data")) - implementation(libs.kotlinx.serialization.json) - implementation(libs.hilt) - ksp(libs.hilt.compiler) - implementation(libs.datastore) - implementation(libs.androidx.room.ktx) - ksp(libs.androidx.room.compiler) - testImplementation(libs.junit) -} diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/AuthenticationRepository.kt b/data/src/main/java/hu/bbara/purefin/core/data/AuthenticationRepository.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/AuthenticationRepository.kt rename to data/src/main/java/hu/bbara/purefin/core/data/AuthenticationRepository.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/DownloadMediaSourceResolver.kt b/data/src/main/java/hu/bbara/purefin/core/data/DownloadMediaSourceResolver.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/DownloadMediaSourceResolver.kt rename to data/src/main/java/hu/bbara/purefin/core/data/DownloadMediaSourceResolver.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/EpisodeSeriesLookup.kt b/data/src/main/java/hu/bbara/purefin/core/data/EpisodeSeriesLookup.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/EpisodeSeriesLookup.kt rename to data/src/main/java/hu/bbara/purefin/core/data/EpisodeSeriesLookup.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/HomeRepository.kt b/data/src/main/java/hu/bbara/purefin/core/data/HomeRepository.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/HomeRepository.kt rename to data/src/main/java/hu/bbara/purefin/core/data/HomeRepository.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/MediaCatalogReader.kt b/data/src/main/java/hu/bbara/purefin/core/data/MediaCatalogReader.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/MediaCatalogReader.kt rename to data/src/main/java/hu/bbara/purefin/core/data/MediaCatalogReader.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/MediaProgressWriter.kt b/data/src/main/java/hu/bbara/purefin/core/data/MediaProgressWriter.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/MediaProgressWriter.kt rename to data/src/main/java/hu/bbara/purefin/core/data/MediaProgressWriter.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/NetworkMonitor.kt b/data/src/main/java/hu/bbara/purefin/core/data/NetworkMonitor.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/NetworkMonitor.kt rename to data/src/main/java/hu/bbara/purefin/core/data/NetworkMonitor.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/OfflineCatalogReader.kt b/data/src/main/java/hu/bbara/purefin/core/data/OfflineCatalogReader.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/OfflineCatalogReader.kt rename to data/src/main/java/hu/bbara/purefin/core/data/OfflineCatalogReader.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/OfflineCatalogStore.kt b/data/src/main/java/hu/bbara/purefin/core/data/OfflineCatalogStore.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/OfflineCatalogStore.kt rename to data/src/main/java/hu/bbara/purefin/core/data/OfflineCatalogStore.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/PlayableMediaRepository.kt b/data/src/main/java/hu/bbara/purefin/core/data/PlayableMediaRepository.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/PlayableMediaRepository.kt rename to data/src/main/java/hu/bbara/purefin/core/data/PlayableMediaRepository.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/PlaybackMethod.kt b/data/src/main/java/hu/bbara/purefin/core/data/PlaybackMethod.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/PlaybackMethod.kt rename to data/src/main/java/hu/bbara/purefin/core/data/PlaybackMethod.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/PlaybackProfileFamily.kt b/data/src/main/java/hu/bbara/purefin/core/data/PlaybackProfileFamily.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/PlaybackProfileFamily.kt rename to data/src/main/java/hu/bbara/purefin/core/data/PlaybackProfileFamily.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/PlaybackProgressReporter.kt b/data/src/main/java/hu/bbara/purefin/core/data/PlaybackProgressReporter.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/PlaybackProgressReporter.kt rename to data/src/main/java/hu/bbara/purefin/core/data/PlaybackProgressReporter.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/PlaybackReportContext.kt b/data/src/main/java/hu/bbara/purefin/core/data/PlaybackReportContext.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/PlaybackReportContext.kt rename to data/src/main/java/hu/bbara/purefin/core/data/PlaybackReportContext.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/SessionBootstrapper.kt b/data/src/main/java/hu/bbara/purefin/core/data/SessionBootstrapper.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/SessionBootstrapper.kt rename to data/src/main/java/hu/bbara/purefin/core/data/SessionBootstrapper.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/SmartDownloadStore.kt b/data/src/main/java/hu/bbara/purefin/core/data/SmartDownloadStore.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/SmartDownloadStore.kt rename to data/src/main/java/hu/bbara/purefin/core/data/SmartDownloadStore.kt diff --git a/core/data/src/main/java/hu/bbara/purefin/core/data/session/UserSessionRepository.kt b/data/src/main/java/hu/bbara/purefin/core/data/session/UserSessionRepository.kt similarity index 100% rename from core/data/src/main/java/hu/bbara/purefin/core/data/session/UserSessionRepository.kt rename to data/src/main/java/hu/bbara/purefin/core/data/session/UserSessionRepository.kt diff --git a/core/image/src/main/java/hu/bbara/purefin/core/image/ArtworkKind.kt b/data/src/main/java/hu/bbara/purefin/core/image/ArtworkKind.kt similarity index 100% rename from core/image/src/main/java/hu/bbara/purefin/core/image/ArtworkKind.kt rename to data/src/main/java/hu/bbara/purefin/core/image/ArtworkKind.kt diff --git a/core/image/src/main/java/hu/bbara/purefin/core/image/ImageUrlBuilder.kt b/data/src/main/java/hu/bbara/purefin/core/image/ImageUrlBuilder.kt similarity index 100% rename from core/image/src/main/java/hu/bbara/purefin/core/image/ImageUrlBuilder.kt rename to data/src/main/java/hu/bbara/purefin/core/image/ImageUrlBuilder.kt diff --git a/core/model/src/main/java/hu/bbara/purefin/core/model/CastMember.kt b/data/src/main/java/hu/bbara/purefin/core/model/CastMember.kt similarity index 100% rename from core/model/src/main/java/hu/bbara/purefin/core/model/CastMember.kt rename to data/src/main/java/hu/bbara/purefin/core/model/CastMember.kt diff --git a/core/model/src/main/java/hu/bbara/purefin/core/model/Episode.kt b/data/src/main/java/hu/bbara/purefin/core/model/Episode.kt similarity index 100% rename from core/model/src/main/java/hu/bbara/purefin/core/model/Episode.kt rename to data/src/main/java/hu/bbara/purefin/core/model/Episode.kt diff --git a/core/model/src/main/java/hu/bbara/purefin/core/model/Library.kt b/data/src/main/java/hu/bbara/purefin/core/model/Library.kt similarity index 100% rename from core/model/src/main/java/hu/bbara/purefin/core/model/Library.kt rename to data/src/main/java/hu/bbara/purefin/core/model/Library.kt diff --git a/core/model/src/main/java/hu/bbara/purefin/core/model/LibraryKind.kt b/data/src/main/java/hu/bbara/purefin/core/model/LibraryKind.kt similarity index 100% rename from core/model/src/main/java/hu/bbara/purefin/core/model/LibraryKind.kt rename to data/src/main/java/hu/bbara/purefin/core/model/LibraryKind.kt diff --git a/core/model/src/main/java/hu/bbara/purefin/core/model/Media.kt b/data/src/main/java/hu/bbara/purefin/core/model/Media.kt similarity index 100% rename from core/model/src/main/java/hu/bbara/purefin/core/model/Media.kt rename to data/src/main/java/hu/bbara/purefin/core/model/Media.kt diff --git a/core/model/src/main/java/hu/bbara/purefin/core/model/MediaKind.kt b/data/src/main/java/hu/bbara/purefin/core/model/MediaKind.kt similarity index 100% rename from core/model/src/main/java/hu/bbara/purefin/core/model/MediaKind.kt rename to data/src/main/java/hu/bbara/purefin/core/model/MediaKind.kt diff --git a/core/model/src/main/java/hu/bbara/purefin/core/model/MediaSegment.kt b/data/src/main/java/hu/bbara/purefin/core/model/MediaSegment.kt similarity index 100% rename from core/model/src/main/java/hu/bbara/purefin/core/model/MediaSegment.kt rename to data/src/main/java/hu/bbara/purefin/core/model/MediaSegment.kt diff --git a/core/model/src/main/java/hu/bbara/purefin/core/model/Movie.kt b/data/src/main/java/hu/bbara/purefin/core/model/Movie.kt similarity index 100% rename from core/model/src/main/java/hu/bbara/purefin/core/model/Movie.kt rename to data/src/main/java/hu/bbara/purefin/core/model/Movie.kt diff --git a/core/model/src/main/java/hu/bbara/purefin/core/model/Season.kt b/data/src/main/java/hu/bbara/purefin/core/model/Season.kt similarity index 100% rename from core/model/src/main/java/hu/bbara/purefin/core/model/Season.kt rename to data/src/main/java/hu/bbara/purefin/core/model/Season.kt diff --git a/core/model/src/main/java/hu/bbara/purefin/core/model/Series.kt b/data/src/main/java/hu/bbara/purefin/core/model/Series.kt similarity index 100% rename from core/model/src/main/java/hu/bbara/purefin/core/model/Series.kt rename to data/src/main/java/hu/bbara/purefin/core/model/Series.kt diff --git a/core/navigation/src/main/java/hu/bbara/purefin/core/navigation/UuidSerializer.kt b/data/src/main/java/hu/bbara/purefin/core/navigation/UuidSerializer.kt similarity index 100% rename from core/navigation/src/main/java/hu/bbara/purefin/core/navigation/UuidSerializer.kt rename to data/src/main/java/hu/bbara/purefin/core/navigation/UuidSerializer.kt diff --git a/data/catalog/src/main/java/hu/bbara/purefin/data/catalog/CompositeMediaRepository.kt b/data/src/main/java/hu/bbara/purefin/data/catalog/CompositeMediaRepository.kt similarity index 100% rename from data/catalog/src/main/java/hu/bbara/purefin/data/catalog/CompositeMediaRepository.kt rename to data/src/main/java/hu/bbara/purefin/data/catalog/CompositeMediaRepository.kt diff --git a/data/catalog/src/main/java/hu/bbara/purefin/data/catalog/DefaultEpisodeSeriesLookup.kt b/data/src/main/java/hu/bbara/purefin/data/catalog/DefaultEpisodeSeriesLookup.kt similarity index 100% rename from data/catalog/src/main/java/hu/bbara/purefin/data/catalog/DefaultEpisodeSeriesLookup.kt rename to data/src/main/java/hu/bbara/purefin/data/catalog/DefaultEpisodeSeriesLookup.kt diff --git a/data/catalog/src/main/java/hu/bbara/purefin/data/catalog/InMemoryAppContentRepository.kt b/data/src/main/java/hu/bbara/purefin/data/catalog/InMemoryAppContentRepository.kt similarity index 100% rename from data/catalog/src/main/java/hu/bbara/purefin/data/catalog/InMemoryAppContentRepository.kt rename to data/src/main/java/hu/bbara/purefin/data/catalog/InMemoryAppContentRepository.kt diff --git a/data/catalog/src/main/java/hu/bbara/purefin/data/catalog/InMemoryMediaRepository.kt b/data/src/main/java/hu/bbara/purefin/data/catalog/InMemoryMediaRepository.kt similarity index 100% rename from data/catalog/src/main/java/hu/bbara/purefin/data/catalog/InMemoryMediaRepository.kt rename to data/src/main/java/hu/bbara/purefin/data/catalog/InMemoryMediaRepository.kt diff --git a/data/catalog/src/main/java/hu/bbara/purefin/data/catalog/MediaRepositoryModule.kt b/data/src/main/java/hu/bbara/purefin/data/catalog/MediaRepositoryModule.kt similarity index 100% rename from data/catalog/src/main/java/hu/bbara/purefin/data/catalog/MediaRepositoryModule.kt rename to data/src/main/java/hu/bbara/purefin/data/catalog/MediaRepositoryModule.kt diff --git a/data/catalog/src/main/java/hu/bbara/purefin/data/catalog/OfflineMediaRepository.kt b/data/src/main/java/hu/bbara/purefin/data/catalog/OfflineMediaRepository.kt similarity index 100% rename from data/catalog/src/main/java/hu/bbara/purefin/data/catalog/OfflineMediaRepository.kt rename to data/src/main/java/hu/bbara/purefin/data/catalog/OfflineMediaRepository.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/ConnectivityNetworkMonitor.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/ConnectivityNetworkMonitor.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/ConnectivityNetworkMonitor.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/ConnectivityNetworkMonitor.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/DefaultPlayableMediaRepository.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/DefaultPlayableMediaRepository.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/DefaultPlayableMediaRepository.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/DefaultPlayableMediaRepository.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/JellyfinBindingsModule.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/JellyfinBindingsModule.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/JellyfinBindingsModule.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/JellyfinBindingsModule.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/JellyfinNetworkModule.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/JellyfinNetworkModule.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/JellyfinNetworkModule.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/JellyfinNetworkModule.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/JellyfinPlaybackProgressReporter.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/JellyfinPlaybackProgressReporter.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/JellyfinPlaybackProgressReporter.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/JellyfinPlaybackProgressReporter.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/client/JellyfinApiClient.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/client/JellyfinApiClient.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/client/JellyfinApiClient.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/client/JellyfinApiClient.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/client/JellyfinAuthInterceptor.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/client/JellyfinAuthInterceptor.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/client/JellyfinAuthInterceptor.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/client/JellyfinAuthInterceptor.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/download/JellyfinDownloadMappers.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/download/JellyfinDownloadMappers.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/download/JellyfinDownloadMappers.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/download/JellyfinDownloadMappers.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/download/JellyfinDownloadMediaSourceResolver.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/download/JellyfinDownloadMediaSourceResolver.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/download/JellyfinDownloadMediaSourceResolver.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/download/JellyfinDownloadMediaSourceResolver.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/AndroidCodecCatalog.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/AndroidCodecCatalog.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/AndroidCodecCatalog.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/AndroidCodecCatalog.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/AndroidDeviceProfileCapabilities.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/AndroidDeviceProfileCapabilities.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/AndroidDeviceProfileCapabilities.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/AndroidDeviceProfileCapabilities.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/CodecDebugHelper.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/CodecDebugHelper.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/CodecDebugHelper.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/CodecDebugHelper.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/JellyfinAndroidMobileDeviceProfile.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/JellyfinAndroidMobileDeviceProfile.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/JellyfinAndroidMobileDeviceProfile.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/JellyfinAndroidMobileDeviceProfile.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/JellyfinAndroidTvDeviceProfile.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/JellyfinAndroidTvDeviceProfile.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/JellyfinAndroidTvDeviceProfile.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/JellyfinAndroidTvDeviceProfile.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/JellyfinPlaybackResolver.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/JellyfinPlaybackResolver.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/JellyfinPlaybackResolver.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/JellyfinPlaybackResolver.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackCacheKeys.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackCacheKeys.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackCacheKeys.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackCacheKeys.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackDecision.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackDecision.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackDecision.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackDecision.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackDecisionResolver.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackDecisionResolver.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackDecisionResolver.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackDecisionResolver.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackProfileModule.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackProfileModule.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackProfileModule.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackProfileModule.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackProfilePolicy.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackProfilePolicy.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackProfilePolicy.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackProfilePolicy.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/session/JellyfinAuthenticationRepository.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/session/JellyfinAuthenticationRepository.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/session/JellyfinAuthenticationRepository.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/session/JellyfinAuthenticationRepository.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/session/JellyfinSessionBootstrapper.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/session/JellyfinSessionBootstrapper.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/session/JellyfinSessionBootstrapper.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/session/JellyfinSessionBootstrapper.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSession.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSession.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSession.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSession.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSessionModule.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSessionModule.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSessionModule.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSessionModule.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSessionRepository.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSessionRepository.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSessionRepository.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSessionRepository.kt diff --git a/data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSessionSerializer.kt b/data/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSessionSerializer.kt similarity index 100% rename from data/jellyfin/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSessionSerializer.kt rename to data/src/main/java/hu/bbara/purefin/data/jellyfin/session/UserSessionSerializer.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/OfflineBindingsModule.kt b/data/src/main/java/hu/bbara/purefin/data/offline/OfflineBindingsModule.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/OfflineBindingsModule.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/OfflineBindingsModule.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/RoomOfflineCatalogStore.kt b/data/src/main/java/hu/bbara/purefin/data/offline/RoomOfflineCatalogStore.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/RoomOfflineCatalogStore.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/RoomOfflineCatalogStore.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/RoomSmartDownloadStore.kt b/data/src/main/java/hu/bbara/purefin/data/offline/RoomSmartDownloadStore.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/RoomSmartDownloadStore.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/RoomSmartDownloadStore.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/cache/HomeCache.kt b/data/src/main/java/hu/bbara/purefin/data/offline/cache/HomeCache.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/cache/HomeCache.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/cache/HomeCache.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/cache/HomeCacheModule.kt b/data/src/main/java/hu/bbara/purefin/data/offline/cache/HomeCacheModule.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/cache/HomeCacheModule.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/cache/HomeCacheModule.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/cache/HomeCacheSerializer.kt b/data/src/main/java/hu/bbara/purefin/data/offline/cache/HomeCacheSerializer.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/cache/HomeCacheSerializer.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/cache/HomeCacheSerializer.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/MediaDatabaseModule.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/MediaDatabaseModule.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/MediaDatabaseModule.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/MediaDatabaseModule.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/RoomRelations.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/RoomRelations.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/RoomRelations.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/RoomRelations.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/UuidConverters.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/UuidConverters.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/UuidConverters.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/UuidConverters.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/dao/CastMemberDao.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/dao/CastMemberDao.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/dao/CastMemberDao.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/dao/CastMemberDao.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/dao/EpisodeDao.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/dao/EpisodeDao.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/dao/EpisodeDao.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/dao/EpisodeDao.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/dao/LibraryDao.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/dao/LibraryDao.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/dao/LibraryDao.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/dao/LibraryDao.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/dao/MovieDao.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/dao/MovieDao.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/dao/MovieDao.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/dao/MovieDao.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/dao/SeasonDao.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/dao/SeasonDao.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/dao/SeasonDao.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/dao/SeasonDao.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/dao/SeriesDao.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/dao/SeriesDao.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/dao/SeriesDao.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/dao/SeriesDao.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/dao/SmartDownloadDao.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/dao/SmartDownloadDao.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/dao/SmartDownloadDao.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/dao/SmartDownloadDao.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/entity/CastMemberEntity.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/entity/CastMemberEntity.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/entity/CastMemberEntity.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/entity/CastMemberEntity.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/entity/EpisodeEntity.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/entity/EpisodeEntity.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/entity/EpisodeEntity.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/entity/EpisodeEntity.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/entity/LibraryEntity.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/entity/LibraryEntity.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/entity/LibraryEntity.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/entity/LibraryEntity.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/entity/MovieEntity.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/entity/MovieEntity.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/entity/MovieEntity.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/entity/MovieEntity.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/entity/SeasonEntity.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/entity/SeasonEntity.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/entity/SeasonEntity.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/entity/SeasonEntity.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/entity/SeriesEntity.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/entity/SeriesEntity.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/entity/SeriesEntity.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/entity/SeriesEntity.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/entity/SmartDownloadEntity.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/entity/SmartDownloadEntity.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/entity/SmartDownloadEntity.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/entity/SmartDownloadEntity.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/offline/OfflineMediaDatabase.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/offline/OfflineMediaDatabase.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/offline/OfflineMediaDatabase.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/offline/OfflineMediaDatabase.kt diff --git a/data/offline/src/main/java/hu/bbara/purefin/data/offline/room/offline/OfflineRoomMediaLocalDataSource.kt b/data/src/main/java/hu/bbara/purefin/data/offline/room/offline/OfflineRoomMediaLocalDataSource.kt similarity index 100% rename from data/offline/src/main/java/hu/bbara/purefin/data/offline/room/offline/OfflineRoomMediaLocalDataSource.kt rename to data/src/main/java/hu/bbara/purefin/data/offline/room/offline/OfflineRoomMediaLocalDataSource.kt diff --git a/data/catalog/src/test/java/hu/bbara/purefin/data/catalog/DefaultEpisodeSeriesLookupTest.kt b/data/src/test/java/hu/bbara/purefin/data/catalog/DefaultEpisodeSeriesLookupTest.kt similarity index 100% rename from data/catalog/src/test/java/hu/bbara/purefin/data/catalog/DefaultEpisodeSeriesLookupTest.kt rename to data/src/test/java/hu/bbara/purefin/data/catalog/DefaultEpisodeSeriesLookupTest.kt diff --git a/data/jellyfin/src/test/java/hu/bbara/purefin/data/jellyfin/playback/AndroidDeviceProfileTest.kt b/data/src/test/java/hu/bbara/purefin/data/jellyfin/playback/AndroidDeviceProfileTest.kt similarity index 100% rename from data/jellyfin/src/test/java/hu/bbara/purefin/data/jellyfin/playback/AndroidDeviceProfileTest.kt rename to data/src/test/java/hu/bbara/purefin/data/jellyfin/playback/AndroidDeviceProfileTest.kt diff --git a/data/jellyfin/src/test/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackCacheKeysTest.kt b/data/src/test/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackCacheKeysTest.kt similarity index 100% rename from data/jellyfin/src/test/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackCacheKeysTest.kt rename to data/src/test/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackCacheKeysTest.kt diff --git a/data/jellyfin/src/test/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackDecisionResolverTest.kt b/data/src/test/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackDecisionResolverTest.kt similarity index 100% rename from data/jellyfin/src/test/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackDecisionResolverTest.kt rename to data/src/test/java/hu/bbara/purefin/data/jellyfin/playback/PlaybackDecisionResolverTest.kt diff --git a/core/player/build.gradle.kts b/domain/build.gradle.kts similarity index 83% rename from core/player/build.gradle.kts rename to domain/build.gradle.kts index 28a8e216..ff4eacef 100644 --- a/core/player/build.gradle.kts +++ b/domain/build.gradle.kts @@ -9,7 +9,7 @@ plugins { } android { - namespace = "hu.bbara.purefin.core.player" + namespace = "hu.bbara.purefin.core.download" compileSdk = 36 defaultConfig { @@ -29,17 +29,17 @@ kotlin { } dependencies { - implementation(project(":core:model")) - implementation(project(":core:data")) - implementation(project(":core:image")) + implementation(project(":data")) implementation(libs.hilt) ksp(libs.hilt.compiler) implementation(libs.androidx.lifecycle.viewmodel.ktx) + implementation(libs.androidx.navigation3.runtime) + implementation(libs.kotlinx.serialization.json) + implementation(libs.kotlinx.coroutines.core) implementation(libs.medi3.exoplayer) implementation(libs.medi3.exoplayer.hls) implementation(libs.media3.datasource.okhttp) implementation(libs.datastore) - implementation(libs.kotlinx.serialization.json) implementation(libs.okhttp) testImplementation(libs.junit) } diff --git a/core/download/src/main/java/hu/bbara/purefin/core/download/DownloadControllerModule.kt b/domain/src/main/java/hu/bbara/purefin/core/download/DownloadControllerModule.kt similarity index 100% rename from core/download/src/main/java/hu/bbara/purefin/core/download/DownloadControllerModule.kt rename to domain/src/main/java/hu/bbara/purefin/core/download/DownloadControllerModule.kt diff --git a/core/download/src/main/java/hu/bbara/purefin/core/download/DownloadModule.kt b/domain/src/main/java/hu/bbara/purefin/core/download/DownloadModule.kt similarity index 100% rename from core/download/src/main/java/hu/bbara/purefin/core/download/DownloadModule.kt rename to domain/src/main/java/hu/bbara/purefin/core/download/DownloadModule.kt diff --git a/core/download/src/main/java/hu/bbara/purefin/core/download/DownloadState.kt b/domain/src/main/java/hu/bbara/purefin/core/download/DownloadState.kt similarity index 100% rename from core/download/src/main/java/hu/bbara/purefin/core/download/DownloadState.kt rename to domain/src/main/java/hu/bbara/purefin/core/download/DownloadState.kt diff --git a/core/download/src/main/java/hu/bbara/purefin/core/download/MediaDownloadController.kt b/domain/src/main/java/hu/bbara/purefin/core/download/MediaDownloadController.kt similarity index 100% rename from core/download/src/main/java/hu/bbara/purefin/core/download/MediaDownloadController.kt rename to domain/src/main/java/hu/bbara/purefin/core/download/MediaDownloadController.kt diff --git a/core/download/src/main/java/hu/bbara/purefin/core/download/MediaDownloadManager.kt b/domain/src/main/java/hu/bbara/purefin/core/download/MediaDownloadManager.kt similarity index 100% rename from core/download/src/main/java/hu/bbara/purefin/core/download/MediaDownloadManager.kt rename to domain/src/main/java/hu/bbara/purefin/core/download/MediaDownloadManager.kt diff --git a/core/download/src/main/java/hu/bbara/purefin/core/download/PurefinDownloadService.kt b/domain/src/main/java/hu/bbara/purefin/core/download/PurefinDownloadService.kt similarity index 100% rename from core/download/src/main/java/hu/bbara/purefin/core/download/PurefinDownloadService.kt rename to domain/src/main/java/hu/bbara/purefin/core/download/PurefinDownloadService.kt diff --git a/core/navigation/src/main/java/hu/bbara/purefin/core/navigation/EpisodeDto.kt b/domain/src/main/java/hu/bbara/purefin/core/navigation/EpisodeDto.kt similarity index 100% rename from core/navigation/src/main/java/hu/bbara/purefin/core/navigation/EpisodeDto.kt rename to domain/src/main/java/hu/bbara/purefin/core/navigation/EpisodeDto.kt diff --git a/core/navigation/src/main/java/hu/bbara/purefin/core/navigation/LibraryDto.kt b/domain/src/main/java/hu/bbara/purefin/core/navigation/LibraryDto.kt similarity index 100% rename from core/navigation/src/main/java/hu/bbara/purefin/core/navigation/LibraryDto.kt rename to domain/src/main/java/hu/bbara/purefin/core/navigation/LibraryDto.kt diff --git a/core/navigation/src/main/java/hu/bbara/purefin/core/navigation/MovieDto.kt b/domain/src/main/java/hu/bbara/purefin/core/navigation/MovieDto.kt similarity index 100% rename from core/navigation/src/main/java/hu/bbara/purefin/core/navigation/MovieDto.kt rename to domain/src/main/java/hu/bbara/purefin/core/navigation/MovieDto.kt diff --git a/core/navigation/src/main/java/hu/bbara/purefin/core/navigation/NavigationManager.kt b/domain/src/main/java/hu/bbara/purefin/core/navigation/NavigationManager.kt similarity index 100% rename from core/navigation/src/main/java/hu/bbara/purefin/core/navigation/NavigationManager.kt rename to domain/src/main/java/hu/bbara/purefin/core/navigation/NavigationManager.kt diff --git a/core/navigation/src/main/java/hu/bbara/purefin/core/navigation/NavigationManagerModule.kt b/domain/src/main/java/hu/bbara/purefin/core/navigation/NavigationManagerModule.kt similarity index 100% rename from core/navigation/src/main/java/hu/bbara/purefin/core/navigation/NavigationManagerModule.kt rename to domain/src/main/java/hu/bbara/purefin/core/navigation/NavigationManagerModule.kt diff --git a/core/navigation/src/main/java/hu/bbara/purefin/core/navigation/Route.kt b/domain/src/main/java/hu/bbara/purefin/core/navigation/Route.kt similarity index 100% rename from core/navigation/src/main/java/hu/bbara/purefin/core/navigation/Route.kt rename to domain/src/main/java/hu/bbara/purefin/core/navigation/Route.kt diff --git a/core/navigation/src/main/java/hu/bbara/purefin/core/navigation/SeriesDto.kt b/domain/src/main/java/hu/bbara/purefin/core/navigation/SeriesDto.kt similarity index 100% rename from core/navigation/src/main/java/hu/bbara/purefin/core/navigation/SeriesDto.kt rename to domain/src/main/java/hu/bbara/purefin/core/navigation/SeriesDto.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/manager/MediaSegmentManager.kt b/domain/src/main/java/hu/bbara/purefin/core/player/manager/MediaSegmentManager.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/manager/MediaSegmentManager.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/manager/MediaSegmentManager.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/manager/PlayerManager.kt b/domain/src/main/java/hu/bbara/purefin/core/player/manager/PlayerManager.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/manager/PlayerManager.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/manager/PlayerManager.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/manager/ProgressManager.kt b/domain/src/main/java/hu/bbara/purefin/core/player/manager/ProgressManager.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/manager/ProgressManager.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/manager/ProgressManager.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/manager/TrackMapper.kt b/domain/src/main/java/hu/bbara/purefin/core/player/manager/TrackMapper.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/manager/TrackMapper.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/manager/TrackMapper.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/model/MediaContext.kt b/domain/src/main/java/hu/bbara/purefin/core/player/model/MediaContext.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/model/MediaContext.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/model/MediaContext.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/model/MetadataState.kt b/domain/src/main/java/hu/bbara/purefin/core/player/model/MetadataState.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/model/MetadataState.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/model/MetadataState.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/model/PlaybackProgressSnapshot.kt b/domain/src/main/java/hu/bbara/purefin/core/player/model/PlaybackProgressSnapshot.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/model/PlaybackProgressSnapshot.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/model/PlaybackProgressSnapshot.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/model/PlaybackStateSnapshot.kt b/domain/src/main/java/hu/bbara/purefin/core/player/model/PlaybackStateSnapshot.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/model/PlaybackStateSnapshot.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/model/PlaybackStateSnapshot.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/model/PlayerUiModels.kt b/domain/src/main/java/hu/bbara/purefin/core/player/model/PlayerUiModels.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/model/PlayerUiModels.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/model/PlayerUiModels.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/model/SegmentStatus.kt b/domain/src/main/java/hu/bbara/purefin/core/player/model/SegmentStatus.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/model/SegmentStatus.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/model/SegmentStatus.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/module/PlaybackNetworkModule.kt b/domain/src/main/java/hu/bbara/purefin/core/player/module/PlaybackNetworkModule.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/module/PlaybackNetworkModule.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/module/PlaybackNetworkModule.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/module/VideoPlayerModule.kt b/domain/src/main/java/hu/bbara/purefin/core/player/module/VideoPlayerModule.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/module/VideoPlayerModule.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/module/VideoPlayerModule.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/preference/TrackMatcher.kt b/domain/src/main/java/hu/bbara/purefin/core/player/preference/TrackMatcher.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/preference/TrackMatcher.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/preference/TrackMatcher.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreference.kt b/domain/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreference.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreference.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreference.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreferencesModule.kt b/domain/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreferencesModule.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreferencesModule.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreferencesModule.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreferencesRepository.kt b/domain/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreferencesRepository.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreferencesRepository.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreferencesRepository.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreferencesSerializer.kt b/domain/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreferencesSerializer.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreferencesSerializer.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/preference/TrackPreferencesSerializer.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/viewmodel/ControlsAutoHidePolicy.kt b/domain/src/main/java/hu/bbara/purefin/core/player/viewmodel/ControlsAutoHidePolicy.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/viewmodel/ControlsAutoHidePolicy.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/viewmodel/ControlsAutoHidePolicy.kt diff --git a/core/player/src/main/java/hu/bbara/purefin/core/player/viewmodel/PlayerViewModel.kt b/domain/src/main/java/hu/bbara/purefin/core/player/viewmodel/PlayerViewModel.kt similarity index 100% rename from core/player/src/main/java/hu/bbara/purefin/core/player/viewmodel/PlayerViewModel.kt rename to domain/src/main/java/hu/bbara/purefin/core/player/viewmodel/PlayerViewModel.kt diff --git a/core/model/src/main/java/hu/bbara/purefin/core/ui/model/MediaUiModel.kt b/domain/src/main/java/hu/bbara/purefin/core/ui/model/MediaUiModel.kt similarity index 100% rename from core/model/src/main/java/hu/bbara/purefin/core/ui/model/MediaUiModel.kt rename to domain/src/main/java/hu/bbara/purefin/core/ui/model/MediaUiModel.kt diff --git a/feature/browse/src/main/java/hu/bbara/purefin/feature/browse/home/AppViewModel.kt b/domain/src/main/java/hu/bbara/purefin/feature/browse/home/AppViewModel.kt similarity index 100% rename from feature/browse/src/main/java/hu/bbara/purefin/feature/browse/home/AppViewModel.kt rename to domain/src/main/java/hu/bbara/purefin/feature/browse/home/AppViewModel.kt diff --git a/feature/browse/src/main/java/hu/bbara/purefin/feature/browse/home/HomeModels.kt b/domain/src/main/java/hu/bbara/purefin/feature/browse/home/HomeModels.kt similarity index 100% rename from feature/browse/src/main/java/hu/bbara/purefin/feature/browse/home/HomeModels.kt rename to domain/src/main/java/hu/bbara/purefin/feature/browse/home/HomeModels.kt diff --git a/feature/browse/src/main/java/hu/bbara/purefin/feature/browse/library/LibraryViewModel.kt b/domain/src/main/java/hu/bbara/purefin/feature/browse/library/LibraryViewModel.kt similarity index 100% rename from feature/browse/src/main/java/hu/bbara/purefin/feature/browse/library/LibraryViewModel.kt rename to domain/src/main/java/hu/bbara/purefin/feature/browse/library/LibraryViewModel.kt diff --git a/feature/content/src/main/java/hu/bbara/purefin/feature/content/episode/EpisodeScreenViewModel.kt b/domain/src/main/java/hu/bbara/purefin/feature/content/episode/EpisodeScreenViewModel.kt similarity index 100% rename from feature/content/src/main/java/hu/bbara/purefin/feature/content/episode/EpisodeScreenViewModel.kt rename to domain/src/main/java/hu/bbara/purefin/feature/content/episode/EpisodeScreenViewModel.kt diff --git a/feature/content/src/main/java/hu/bbara/purefin/feature/content/movie/MovieScreenViewModel.kt b/domain/src/main/java/hu/bbara/purefin/feature/content/movie/MovieScreenViewModel.kt similarity index 100% rename from feature/content/src/main/java/hu/bbara/purefin/feature/content/movie/MovieScreenViewModel.kt rename to domain/src/main/java/hu/bbara/purefin/feature/content/movie/MovieScreenViewModel.kt diff --git a/feature/content/src/main/java/hu/bbara/purefin/feature/content/series/SeriesViewModel.kt b/domain/src/main/java/hu/bbara/purefin/feature/content/series/SeriesViewModel.kt similarity index 100% rename from feature/content/src/main/java/hu/bbara/purefin/feature/content/series/SeriesViewModel.kt rename to domain/src/main/java/hu/bbara/purefin/feature/content/series/SeriesViewModel.kt diff --git a/feature/downloads/src/main/java/hu/bbara/purefin/feature/downloads/ActiveDownloadItem.kt b/domain/src/main/java/hu/bbara/purefin/feature/downloads/ActiveDownloadItem.kt similarity index 100% rename from feature/downloads/src/main/java/hu/bbara/purefin/feature/downloads/ActiveDownloadItem.kt rename to domain/src/main/java/hu/bbara/purefin/feature/downloads/ActiveDownloadItem.kt diff --git a/feature/downloads/src/main/java/hu/bbara/purefin/feature/downloads/DownloadsViewModel.kt b/domain/src/main/java/hu/bbara/purefin/feature/downloads/DownloadsViewModel.kt similarity index 100% rename from feature/downloads/src/main/java/hu/bbara/purefin/feature/downloads/DownloadsViewModel.kt rename to domain/src/main/java/hu/bbara/purefin/feature/downloads/DownloadsViewModel.kt diff --git a/feature/login/src/main/java/hu/bbara/purefin/feature/login/LoginViewModel.kt b/domain/src/main/java/hu/bbara/purefin/feature/login/LoginViewModel.kt similarity index 100% rename from feature/login/src/main/java/hu/bbara/purefin/feature/login/LoginViewModel.kt rename to domain/src/main/java/hu/bbara/purefin/feature/login/LoginViewModel.kt diff --git a/feature/search/src/main/java/hu/bbara/purefin/feature/search/SearchResult.kt b/domain/src/main/java/hu/bbara/purefin/feature/search/SearchResult.kt similarity index 100% rename from feature/search/src/main/java/hu/bbara/purefin/feature/search/SearchResult.kt rename to domain/src/main/java/hu/bbara/purefin/feature/search/SearchResult.kt diff --git a/feature/search/src/main/java/hu/bbara/purefin/feature/search/SearchViewModel.kt b/domain/src/main/java/hu/bbara/purefin/feature/search/SearchViewModel.kt similarity index 100% rename from feature/search/src/main/java/hu/bbara/purefin/feature/search/SearchViewModel.kt rename to domain/src/main/java/hu/bbara/purefin/feature/search/SearchViewModel.kt diff --git a/core/download/src/main/res/values/strings.xml b/domain/src/main/res/values/strings.xml similarity index 100% rename from core/download/src/main/res/values/strings.xml rename to domain/src/main/res/values/strings.xml diff --git a/core/download/src/test/java/hu/bbara/purefin/core/download/DownloadModuleTest.kt b/domain/src/test/java/hu/bbara/purefin/core/download/DownloadModuleTest.kt similarity index 100% rename from core/download/src/test/java/hu/bbara/purefin/core/download/DownloadModuleTest.kt rename to domain/src/test/java/hu/bbara/purefin/core/download/DownloadModuleTest.kt diff --git a/core/navigation/src/test/java/hu/bbara/purefin/core/navigation/RouteSerializationTest.kt b/domain/src/test/java/hu/bbara/purefin/core/navigation/RouteSerializationTest.kt similarity index 100% rename from core/navigation/src/test/java/hu/bbara/purefin/core/navigation/RouteSerializationTest.kt rename to domain/src/test/java/hu/bbara/purefin/core/navigation/RouteSerializationTest.kt diff --git a/core/player/src/test/java/hu/bbara/purefin/core/player/viewmodel/ControlsAutoHidePolicyTest.kt b/domain/src/test/java/hu/bbara/purefin/core/player/viewmodel/ControlsAutoHidePolicyTest.kt similarity index 100% rename from core/player/src/test/java/hu/bbara/purefin/core/player/viewmodel/ControlsAutoHidePolicyTest.kt rename to domain/src/test/java/hu/bbara/purefin/core/player/viewmodel/ControlsAutoHidePolicyTest.kt diff --git a/feature/browse/build.gradle.kts b/feature/browse/build.gradle.kts deleted file mode 100644 index 37c98a3e..00000000 --- a/feature/browse/build.gradle.kts +++ /dev/null @@ -1,41 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - -plugins { - alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) - alias(libs.plugins.hilt) - alias(libs.plugins.ksp) -} - -android { - namespace = "hu.bbara.purefin.feature.browse" - compileSdk = 36 - - defaultConfig { - minSdk = 29 - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } -} - -kotlin { - compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) - } -} - -dependencies { - implementation(project(":core:model")) - implementation(project(":core:data")) - implementation(project(":core:image")) - implementation(project(":core:navigation")) - implementation(project(":core:download")) - implementation(libs.androidx.navigation3.runtime) - implementation(libs.hilt) - ksp(libs.hilt.compiler) - implementation(libs.androidx.lifecycle.viewmodel.ktx) - testImplementation(libs.junit) -} diff --git a/feature/content/build.gradle.kts b/feature/content/build.gradle.kts deleted file mode 100644 index 8f105118..00000000 --- a/feature/content/build.gradle.kts +++ /dev/null @@ -1,40 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - -plugins { - alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) - alias(libs.plugins.hilt) - alias(libs.plugins.ksp) -} - -android { - namespace = "hu.bbara.purefin.feature.content" - compileSdk = 36 - - defaultConfig { - minSdk = 29 - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } -} - -kotlin { - compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) - } -} - -dependencies { - implementation(project(":core:model")) - implementation(project(":core:data")) - implementation(project(":core:navigation")) - implementation(project(":core:download")) - implementation(libs.androidx.navigation3.runtime) - implementation(libs.hilt) - ksp(libs.hilt.compiler) - implementation(libs.androidx.lifecycle.viewmodel.ktx) - testImplementation(libs.junit) -} diff --git a/feature/downloads/build.gradle.kts b/feature/downloads/build.gradle.kts deleted file mode 100644 index e2c78df5..00000000 --- a/feature/downloads/build.gradle.kts +++ /dev/null @@ -1,42 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - -plugins { - alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) - alias(libs.plugins.hilt) - alias(libs.plugins.ksp) -} - -android { - namespace = "hu.bbara.purefin.feature.downloads" - compileSdk = 36 - - defaultConfig { - minSdk = 29 - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } -} - -kotlin { - compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) - } -} - -dependencies { - implementation(project(":core:model")) - implementation(project(":core:data")) - implementation(project(":core:image")) - implementation(project(":core:navigation")) - implementation(project(":core:download")) - implementation(project(":feature:browse")) - implementation(libs.androidx.navigation3.runtime) - implementation(libs.hilt) - ksp(libs.hilt.compiler) - implementation(libs.androidx.lifecycle.viewmodel.ktx) - testImplementation(libs.junit) -} diff --git a/feature/login/build.gradle.kts b/feature/login/build.gradle.kts deleted file mode 100644 index e2aebc18..00000000 --- a/feature/login/build.gradle.kts +++ /dev/null @@ -1,36 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - -plugins { - alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) - alias(libs.plugins.hilt) - alias(libs.plugins.ksp) -} - -android { - namespace = "hu.bbara.purefin.feature.login" - compileSdk = 36 - - defaultConfig { - minSdk = 29 - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } -} - -kotlin { - compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) - } -} - -dependencies { - implementation(project(":core:data")) - implementation(libs.hilt) - ksp(libs.hilt.compiler) - implementation(libs.androidx.lifecycle.viewmodel.ktx) - testImplementation(libs.junit) -} diff --git a/feature/search/build.gradle.kts b/feature/search/build.gradle.kts deleted file mode 100644 index 9691f8f5..00000000 --- a/feature/search/build.gradle.kts +++ /dev/null @@ -1,38 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - -plugins { - alias(libs.plugins.android.library) - alias(libs.plugins.kotlin.android) - alias(libs.plugins.hilt) - alias(libs.plugins.ksp) -} - -android { - namespace = "hu.bbara.purefin.feature.search" - compileSdk = 36 - - defaultConfig { - minSdk = 29 - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } -} - -kotlin { - compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) - } -} - -dependencies { - implementation(project(":core:model")) - implementation(project(":core:data")) - implementation(project(":core:image")) - implementation(libs.hilt) - ksp(libs.hilt.compiler) - implementation(libs.androidx.lifecycle.viewmodel.ktx) - testImplementation(libs.junit) -} diff --git a/settings.gradle.kts b/settings.gradle.kts index 0bcfaff7..36bafd97 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -25,18 +25,6 @@ dependencyResolutionManagement { rootProject.name = "Purefin" include(":app") include(":app-tv") -include(":core:model") -include(":core:image") -include(":core:ui") -include(":core:data") -include(":core:navigation") -include(":core:download") -include(":core:player") -include(":data:jellyfin") -include(":data:offline") -include(":data:catalog") -include(":feature:browse") -include(":feature:search") -include(":feature:content") -include(":feature:downloads") -include(":feature:login") +include(":data") +include(":domain") +include(":ui-common") diff --git a/core/ui/build.gradle.kts b/ui-common/build.gradle.kts similarity index 92% rename from core/ui/build.gradle.kts rename to ui-common/build.gradle.kts index cc621e6b..f13625f3 100644 --- a/core/ui/build.gradle.kts +++ b/ui-common/build.gradle.kts @@ -31,8 +31,8 @@ kotlin { } dependencies { - implementation(project(":core:model")) - implementation(project(":core:player")) + implementation(project(":data")) + implementation(project(":domain")) implementation(platform(libs.androidx.compose.bom)) implementation(libs.androidx.compose.ui) implementation(libs.androidx.compose.ui.graphics) diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/badge/UnwatchedEpisodeBadge.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/badge/UnwatchedEpisodeBadge.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/badge/UnwatchedEpisodeBadge.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/badge/UnwatchedEpisodeBadge.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/badge/WatchStateBadge.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/badge/WatchStateBadge.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/badge/WatchStateBadge.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/badge/WatchStateBadge.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/bar/MediaProgressBar.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/bar/MediaProgressBar.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/bar/MediaProgressBar.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/bar/MediaProgressBar.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/button/CircularIconButton.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/button/CircularIconButton.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/button/CircularIconButton.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/button/CircularIconButton.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/button/GhostIconButton.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/button/GhostIconButton.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/button/GhostIconButton.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/button/GhostIconButton.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/button/MediaActionButton.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/button/MediaActionButton.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/button/MediaActionButton.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/button/MediaActionButton.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/button/MediaResumeButton.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/button/MediaResumeButton.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/button/MediaResumeButton.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/button/MediaResumeButton.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/button/PurefinIconButton.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/button/PurefinIconButton.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/button/PurefinIconButton.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/button/PurefinIconButton.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/button/PurefinTextButton.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/button/PurefinTextButton.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/button/PurefinTextButton.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/button/PurefinTextButton.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/image/PurefinAsyncImage.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/image/PurefinAsyncImage.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/image/PurefinAsyncImage.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/image/PurefinAsyncImage.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/media/MediaDetailComponents.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/media/MediaDetailComponents.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/media/MediaDetailComponents.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/media/MediaDetailComponents.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/media/MediaMetadataFlowRow.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/media/MediaMetadataFlowRow.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/media/MediaMetadataFlowRow.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/media/MediaMetadataFlowRow.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/media/MediaPlayButtonLabel.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/media/MediaPlayButtonLabel.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/media/MediaPlayButtonLabel.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/media/MediaPlayButtonLabel.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/media/MediaPlaybackSettings.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/media/MediaPlaybackSettings.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/media/MediaPlaybackSettings.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/media/MediaPlaybackSettings.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/media/MediaSynopsis.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/media/MediaSynopsis.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/media/MediaSynopsis.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/media/MediaSynopsis.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/textfield/PurefinComplexTextField.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/textfield/PurefinComplexTextField.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/textfield/PurefinComplexTextField.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/textfield/PurefinComplexTextField.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/textfield/PurefinPasswordField.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/textfield/PurefinPasswordField.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/textfield/PurefinPasswordField.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/textfield/PurefinPasswordField.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/common/visual/TimedVisibility.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/common/visual/TimedVisibility.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/common/visual/TimedVisibility.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/common/visual/TimedVisibility.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/screen/login/LoginContent.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/screen/login/LoginContent.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/screen/login/LoginContent.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/screen/login/LoginContent.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/screen/player/components/PlayerLoadingErrorEndCardContent.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/screen/player/components/PlayerLoadingErrorEndCardContent.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/screen/player/components/PlayerLoadingErrorEndCardContent.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/screen/player/components/PlayerLoadingErrorEndCardContent.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/screen/player/components/PlayerSeekBarTrack.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/screen/player/components/PlayerSeekBarTrack.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/screen/player/components/PlayerSeekBarTrack.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/screen/player/components/PlayerSeekBarTrack.kt diff --git a/core/ui/src/main/java/hu/bbara/purefin/ui/screen/waiting/WaitingScreen.kt b/ui-common/src/main/java/hu/bbara/purefin/ui/screen/waiting/WaitingScreen.kt similarity index 100% rename from core/ui/src/main/java/hu/bbara/purefin/ui/screen/waiting/WaitingScreen.kt rename to ui-common/src/main/java/hu/bbara/purefin/ui/screen/waiting/WaitingScreen.kt diff --git a/core/ui/src/test/java/hu/bbara/purefin/ui/common/media/MediaPlayButtonLabelTest.kt b/ui-common/src/test/java/hu/bbara/purefin/ui/common/media/MediaPlayButtonLabelTest.kt similarity index 100% rename from core/ui/src/test/java/hu/bbara/purefin/ui/common/media/MediaPlayButtonLabelTest.kt rename to ui-common/src/test/java/hu/bbara/purefin/ui/common/media/MediaPlayButtonLabelTest.kt