From a388906f1b9d4d5a353a98602c39c42ec864bd6a Mon Sep 17 00:00:00 2001 From: Nguyen Duc Tuan Minh Date: Wed, 6 Nov 2024 00:16:51 +0700 Subject: [PATCH] 90% Local Playlist Compose --- .idea/inspectionProfiles/Project_Default.xml | 4 + .idea/ktlint-plugin.xml | 1 + ...kotlin-compiler-9740287438046207964.salive | 0 app/build.gradle.kts | 8 +- app/release/output-metadata.json | 38 +- .../maxrave/simpmusic/SimpMusicApplication.kt | 2 + .../com/maxrave/simpmusic/common/Config.kt | 1 + .../maxrave/simpmusic/data/db/DatabaseDao.kt | 3 + .../simpmusic/data/db/LocalDataSource.kt | 2 + .../simpmusic/data/manager/LoadMoreManager.kt | 11 + .../data/manager/LocalPlaylistManager.kt | 143 +- .../simpmusic/data/parser/HomeParser.kt | 754 ++++++---- .../simpmusic/data/parser/PlaylistParser.kt | 11 +- .../simpmusic/di/MediaServiceModule.kt | 261 +++- .../maxrave/simpmusic/di/ViewModelModule.kt | 16 + .../simpmusic/service/SimpleMediaService.kt | 272 +--- .../service/SimpleMediaServiceHandler.kt | 923 +++++++----- .../com/maxrave/simpmusic/ui/MainActivity.kt | 30 +- .../simpmusic/ui/component/AdapterItems.kt | 129 +- .../simpmusic/ui/component/DynamicHeaders.kt | 320 ---- .../simpmusic/ui/component/LoadingDialog.kt | 77 + .../simpmusic/ui/component/LyricsView.kt | 529 ++++--- .../ui/component/ModalBottomSheet.kt | 214 ++- .../simpmusic/ui/component/PlaylistItems.kt | 26 +- .../simpmusic/ui/fragment/SearchFragment.kt | 16 +- .../ui/fragment/home/RecentlySongsFragment.kt | 4 +- .../ui/fragment/home/SettingsFragment.kt | 2 +- .../ui/fragment/library/DownloadedFragment.kt | 4 +- .../ui/fragment/library/FavoriteFragment.kt | 4 +- .../ui/fragment/library/LibraryFragment.kt | 4 +- .../ui/fragment/library/MostPlayedFragment.kt | 4 +- .../ui/fragment/login/LogInFragment.kt | 4 +- .../ui/fragment/login/MusixmatchFragment.kt | 3 +- .../ui/fragment/login/SpotifyLogInFragment.kt | 3 +- .../ui/fragment/other/AlbumFragment.kt | 24 +- .../ui/fragment/other/ArtistFragment.kt | 8 +- .../fragment/other/LocalPlaylistFragment.kt | 154 +- .../ui/fragment/other/PlaylistFragment.kt | 40 +- .../ui/fragment/other/PodcastFragment.kt | 12 +- .../ui/fragment/player/FullscreenFragment.kt | 6 +- .../ui/fragment/player/InfoFragment.kt | 28 +- .../ui/fragment/player/QueueFragment.kt | 132 +- .../maxrave/simpmusic/ui/screen/MiniPlayer.kt | 1 + .../simpmusic/ui/screen/home/HomeScreen.kt | 121 +- .../ui/screen/library/PlaylistScreen.kt | 418 ++---- .../ui/screen/player/NowPlayingScreen.kt | 1318 +++++++++-------- .../viewModel/LocalPlaylistViewModel.kt | 1069 +++++++------ .../NowPlayingBottomSheetViewModel.kt | 238 +++ .../simpmusic/viewModel/SettingsViewModel.kt | 2 + .../simpmusic/viewModel/SharedViewModel.kt | 115 +- .../simpmusic/viewModel/base/BaseViewModel.kt | 92 ++ .../viewModel/uiState/LocalPlaylistState.kt | 66 + app/src/main/res/values/strings.xml | 2 + gradle/libs.versions.toml | 33 +- kotlinYtmusicScraper/build.gradle.kts | 2 +- .../maxrave/kotlinytmusicscraper/YouTube.kt | 1033 +++++++++---- .../maxrave/kotlinytmusicscraper/Ytmusic.kt | 17 + .../kotlinytmusicscraper/models/Badges.kt | 2 +- .../kotlinytmusicscraper/models/Menu.kt | 21 +- .../models/MusicResponsiveListItemRenderer.kt | 64 +- .../kotlinytmusicscraper/models/YTItem.kt | 19 +- .../parser/PlaylistParser.kt | 244 +++ .../parser/YtItemParser.kt | 24 + .../maxrave/kotlinytmusicscraper/test/main.kt | 24 +- 64 files changed, 5223 insertions(+), 3929 deletions(-) delete mode 100644 .kotlin/sessions/kotlin-compiler-9740287438046207964.salive create mode 100644 app/src/main/java/com/maxrave/simpmusic/data/manager/LoadMoreManager.kt create mode 100644 app/src/main/java/com/maxrave/simpmusic/di/ViewModelModule.kt delete mode 100644 app/src/main/java/com/maxrave/simpmusic/ui/component/DynamicHeaders.kt create mode 100644 app/src/main/java/com/maxrave/simpmusic/ui/component/LoadingDialog.kt create mode 100644 app/src/main/java/com/maxrave/simpmusic/viewModel/NowPlayingBottomSheetViewModel.kt create mode 100644 app/src/main/java/com/maxrave/simpmusic/viewModel/uiState/LocalPlaylistState.kt create mode 100644 kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/parser/PlaylistParser.kt create mode 100644 kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/parser/YtItemParser.kt diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index b67486ec..fb93d254 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -3,15 +3,19 @@