From 42c95b9a026ae0bf25405eb8f6c774fd9e0a82b9 Mon Sep 17 00:00:00 2001 From: ocean <503259349@qq.com> Date: Fri, 24 May 2024 20:36:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=8D=A2=E5=8C=85=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 8 +-- .../offline/music}/ExampleInstrumentedTest.kt | 4 +- app/src/main/AndroidManifest.xml | 8 +-- .../musicoo => relax/offline/music}/App.kt | 30 +++++----- .../offline/music}/activity/AboutActivity.kt | 6 +- .../offline/music}/activity/BaseActivity.kt | 2 +- .../offline/music}/activity/LaunchActivity.kt | 6 +- .../offline/music}/activity/MainActivity.kt | 27 +++++---- .../offline/music}/activity/MoBaseActivity.kt | 19 ++----- .../music}/activity/MoListDetailsActivity.kt | 12 ++-- .../music}/activity/MoOfflineSongsActivity.kt | 19 ++----- .../music}/activity/MoPlayDetailsActivity.kt | 38 ++++++------- .../music}/activity/MoSearchMoreActivity.kt | 31 +++------- .../activity/MoSingerDetailsActivity.kt | 14 ++--- .../activity/MoSingerMoreSongActivity.kt | 16 +++--- .../music}/activity/PlayDetailsActivity.kt | 22 ++++---- .../music}/activity/PrimaryActivity.kt | 22 ++------ .../music}/activity/SettingsActivity.kt | 18 +++--- .../music}/adapter/DetailsListAdapter.kt | 22 ++------ .../music}/adapter/OfflineSongsAdapter.kt | 14 ++--- .../music}/adapter/ParentsVoiceAdapter.kt | 24 ++++---- .../offline/music}/adapter/PlayListAdapter.kt | 9 ++- .../music}/adapter/RealHumanVoiceAdapter.kt | 19 +++---- .../music}/adapter/ResponsiveListAdapter.kt | 13 ++--- .../music}/adapter/SearchHistoryAdapter.kt | 4 +- .../adapter/SearchResultOtherAdapter.kt | 22 +++----- .../adapter/SearchSuggestionsAdapter.kt | 4 +- .../adapter/SingerDetailsSongListAdapter.kt | 19 ++----- .../music}/adapter/SingerMoreSongAdapter.kt | 22 ++------ .../adapter/SoundsOfAppliancesAdapter.kt | 19 +++---- .../music}/adapter/SoundsOfNatureAdapter.kt | 20 +++---- .../music}/adapter/TowRowListAdapter.kt | 13 ++--- .../offline/music}/bean/Audio.kt | 2 +- .../offline/music}/bean/Category.kt | 2 +- .../music}/bean/CurrentPlayingAudio.kt | 2 +- .../offline/music}/bean/OfflineBean.kt | 3 +- .../offline/music}/bean/ResourcesList.kt | 2 +- .../offline/music}/database/AppDatabase.kt | 4 +- .../music}/database/AppOfflineDBManager.kt | 6 +- .../music}/database/AppOfflineDatabase.kt | 4 +- .../music}/database/CurrentAudioDatabase.kt | 4 +- .../music}/database/CurrentAudioManager.kt | 4 +- .../music}/database/CurrentPlayingAudioDao.kt | 4 +- .../music}/database/DatabaseManager.kt | 4 +- .../offline/music}/database/LocalAudioDao.kt | 4 +- .../offline/music}/database/OfflineDao.kt | 4 +- .../offline/music}/fragment/HomeFragment.kt | 53 +++++++++--------- .../offline/music}/fragment/ImportFragment.kt | 32 +++++------ .../offline/music}/fragment/MoBaseFragment.kt | 7 +-- .../offline/music}/fragment/MoHomeFragment.kt | 19 +++---- .../offline/music}/fragment/MoMeFragment.kt | 11 ++-- .../offline/music}/fragment/SearchFragment.kt | 24 ++++---- .../offline/music}/innertube/Innertube.kt | 16 +++--- .../music}/innertube/models/BrowseResponse.kt | 2 +- .../music}/innertube/models/ButtonRenderer.kt | 2 +- .../music}/innertube/models/Context.kt | 2 +- .../music}/innertube/models/Continuation.kt | 2 +- .../innertube/models/ContinuationResponse.kt | 2 +- .../innertube/models/GetQueueResponse.kt | 2 +- .../music}/innertube/models/GridRenderer.kt | 2 +- .../models/MusicCardShelfRenderer.kt | 4 +- .../models/MusicCarouselShelfRenderer.kt | 2 +- .../models/MusicResponsiveListItemRenderer.kt | 2 +- .../innertube/models/MusicShelfRenderer.kt | 2 +- .../models/MusicTwoRowItemRenderer.kt | 2 +- .../innertube/models/NavigationEndpoint.kt | 2 +- .../music}/innertube/models/NextResponse.kt | 2 +- .../music}/innertube/models/PlayerResponse.kt | 2 +- .../models/PlaylistPanelVideoRenderer.kt | 2 +- .../offline/music}/innertube/models/Runs.kt | 2 +- .../music}/innertube/models/SearchResponse.kt | 3 +- .../models/SearchSuggestionsResponse.kt | 2 +- .../models/SectionListContinuation.kt | 2 +- .../innertube/models/SectionListRenderer.kt | 2 +- .../offline/music}/innertube/models/Tabs.kt | 2 +- .../music}/innertube/models/Thumbnail.kt | 2 +- .../innertube/models/ThumbnailRenderer.kt | 4 +- .../innertube/models/bodies/BrowseBody.kt | 4 +- .../innertube/models/bodies/BrowseMoreBody.kt | 4 +- .../models/bodies/ContinuationBody.kt | 4 +- .../innertube/models/bodies/NextBody.kt | 4 +- .../innertube/models/bodies/PlayerBody.kt | 4 +- .../innertube/models/bodies/QueueBody.kt | 4 +- .../innertube/models/bodies/SearchBody.kt | 4 +- .../models/bodies/SearchSuggestionsBody.kt | 4 +- .../music}/innertube/requests/AlbumPage.kt | 8 +-- .../music}/innertube/requests/ArtistPage.kt | 20 +++---- .../music}/innertube/requests/HomePage.kt | 18 +++--- .../music}/innertube/requests/HomePageMore.kt | 16 +++--- .../music}/innertube/requests/ItemsPage.kt | 22 ++++---- .../music}/innertube/requests/Lyrics.kt | 14 ++--- .../music}/innertube/requests/MoNextPage.kt | 13 ++--- .../innertube/requests/MoPlaylistPage.kt | 15 ++--- .../music}/innertube/requests/MoSearchPage.kt | 21 +++---- .../innertube/requests/MoSingerlistPage.kt | 25 ++++----- .../music}/innertube/requests/NextPage.kt | 16 +++--- .../music}/innertube/requests/Player.kt | 12 ++-- .../music}/innertube/requests/PlaylistPage.kt | 20 +++---- .../music}/innertube/requests/Queue.kt | 12 ++-- .../music}/innertube/requests/RelatedPage.kt | 22 ++++---- .../music}/innertube/requests/SearchPage.kt | 16 +++--- .../innertube/requests/SearchSuggestions.kt | 10 ++-- .../music}/innertube/utils/BrotliEncoder.kt | 2 +- .../FromMusicResponsiveListItemRenderer.kt | 10 ++-- .../utils/FromMusicShelfRendererContent.kt | 8 +-- .../utils/FromMusicTwoRowItemRenderer.kt | 6 +- .../utils/FromPlaylistPanelVideoRenderer.kt | 6 +- .../offline/music}/innertube/utils/Utils.kt | 6 +- .../offline/music}/innertube/utils/brotli.kt | 2 +- .../media/DefaultMediaNotificationProvider.kt | 9 ++- .../media/LocalMediaControllerManager.kt | 25 ++++----- .../music}/media/MediaControllerManager.kt | 18 +----- .../music}/media/MediaControllerUtils.kt | 2 +- .../offline/music}/media/SongRadio.kt | 10 ++-- .../CustomMediaNotificationProvider.kt | 6 +- .../music}/service/LocalPlaybackService.kt | 4 +- .../music}/service/MyDownloadService.kt | 13 +---- .../service/NotificationCustomButton.kt | 4 +- .../music}/service/PlaybackExceptions.kt | 2 +- .../offline/music}/service/PlaybackService.kt | 28 +++++---- .../offline/music}/service/ViewModelMain.kt | 2 +- .../offline/music}/sp/AppStore.kt | 8 +-- .../music}/sp/SharedPreferencesHelper.kt | 2 +- .../offline/music}/sp/store/Providers.kt | 2 +- .../offline/music}/sp/store/Store.kt | 2 +- .../offline/music}/sp/store/StoreProvider.kt | 2 +- .../offline/music}/util/AudioPlayer.kt | 2 +- .../offline/music}/util/CacheManager.kt | 2 +- .../offline/music}/util/ConvertUtil.kt | 2 +- .../offline/music}/util/DownloadUtil.kt | 42 +++++--------- .../music}/util/ExoPlayerDiskCacheMaxSize.kt | 2 +- .../offline/music}/util/FileSizeConverter.kt | 2 +- .../music}/util/GridSpacingItemDecoration.kt | 2 +- .../util/HorizontalSpaceItemDecoration.kt | 2 +- .../offline/music}/util/LogTag.kt | 2 +- .../offline/music}/util/OpenUrlUtil.kt | 3 +- .../offline/music}/util/PlayMode.kt | 2 +- .../offline/music}/util/ResourcesMusicUtil.kt | 10 ++-- .../offline/music}/util/RingBuffer.kt | 2 +- .../offline/music}/util/Utils.kt | 10 ++-- .../offline/music}/view/BlurLayout.kt | 2 +- .../music}/view/CircularProgressBar.kt | 2 +- .../offline/music}/view/CustomProgressBar.kt | 2 +- .../offline/music}/view/MarqueeTextView.java | 2 +- .../offline/music}/view/ModuleView.kt | 2 +- .../offline/music}/view/MusicBarsView.kt | 2 +- .../offline/music}/view/MusicPlayerView.kt | 13 ++--- .../music}/view/MusicResponsiveListView.kt | 12 ++-- .../music}/view/MusicTowRowListView.kt | 11 ++-- .../offline/music}/view/RadiusLayout.kt | 4 +- .../music}/view/SearchResultOptimalView.kt | 12 ++-- .../music}/view/SearchResultOtherView.kt | 10 ++-- .../music}/view/SingerDetailsOtherView.kt | 12 ++-- .../music}/view/SingerDetailsSongView.kt | 10 ++-- app/src/main/res/layout/activity_about.xml | 2 +- app/src/main/res/layout/activity_details.xml | 2 +- app/src/main/res/layout/activity_launch.xml | 2 +- app/src/main/res/layout/activity_main.xml | 6 +- .../res/layout/activity_mo_play_details.xml | 4 +- app/src/main/res/layout/details_list_item.xml | 8 +-- .../main/res/layout/dialog_description.xml | 2 +- .../main/res/layout/music_player_layout.xml | 8 +-- .../main/res/layout/music_responsive_item.xml | 8 +-- .../main/res/layout/music_tow_row_item.xml | 6 +- app/src/main/res/layout/offline_list_item.xml | 8 +-- .../main/res/layout/parents_voice_layout.xml | 2 +- app/src/main/res/layout/play_list_item.xml | 8 +-- .../res/layout/real_human_voice_layout.xml | 4 +- .../layout/search_result_optimal_layout.xml | 6 +- .../res/layout/search_result_other_item.xml | 6 +- app/src/main/res/mipmap-xxhdpi/app_logo.png | Bin 0 -> 16895 bytes .../res/mipmap-xxhdpi/musicoo_logo_img.png | Bin 19082 -> 0 bytes app/src/main/res/values-night/themes.xml | 2 +- app/src/main/res/values/themes.xml | 4 +- .../offline/music}/ExampleUnitTest.kt | 2 +- keyinfo/info.txt | 2 +- keyinfo/muiscoo_player_key | Bin 2578 -> 0 bytes keyinfo/musiclax_player_key | Bin 0 -> 2596 bytes settings.gradle.kts | 2 +- 179 files changed, 685 insertions(+), 871 deletions(-) rename app/src/androidTest/java/{com/player/musicoo => relax/offline/music}/ExampleInstrumentedTest.kt (85%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/App.kt (83%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/activity/AboutActivity.kt (81%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/activity/BaseActivity.kt (88%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/activity/LaunchActivity.kt (89%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/activity/MainActivity.kt (91%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/activity/MoBaseActivity.kt (93%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/activity/MoListDetailsActivity.kt (93%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/activity/MoOfflineSongsActivity.kt (84%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/activity/MoPlayDetailsActivity.kt (96%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/activity/MoSearchMoreActivity.kt (81%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/activity/MoSingerDetailsActivity.kt (92%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/activity/MoSingerMoreSongActivity.kt (92%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/activity/PlayDetailsActivity.kt (94%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/activity/PrimaryActivity.kt (87%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/activity/SettingsActivity.kt (76%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/adapter/DetailsListAdapter.kt (83%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/adapter/OfflineSongsAdapter.kt (89%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/adapter/ParentsVoiceAdapter.kt (79%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/adapter/PlayListAdapter.kt (93%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/adapter/RealHumanVoiceAdapter.kt (81%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/adapter/ResponsiveListAdapter.kt (92%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/adapter/SearchHistoryAdapter.kt (93%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/adapter/SearchResultOtherAdapter.kt (82%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/adapter/SearchSuggestionsAdapter.kt (92%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/adapter/SingerDetailsSongListAdapter.kt (84%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/adapter/SingerMoreSongAdapter.kt (85%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/adapter/SoundsOfAppliancesAdapter.kt (82%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/adapter/SoundsOfNatureAdapter.kt (81%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/adapter/TowRowListAdapter.kt (92%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/bean/Audio.kt (94%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/bean/Category.kt (78%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/bean/CurrentPlayingAudio.kt (93%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/bean/OfflineBean.kt (91%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/bean/ResourcesList.kt (76%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/database/AppDatabase.kt (75%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/database/AppOfflineDBManager.kt (95%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/database/AppOfflineDatabase.kt (75%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/database/CurrentAudioDatabase.kt (75%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/database/CurrentAudioManager.kt (93%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/database/CurrentPlayingAudioDao.kt (87%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/database/DatabaseManager.kt (96%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/database/LocalAudioDao.kt (91%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/database/OfflineDao.kt (91%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/fragment/HomeFragment.kt (61%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/fragment/ImportFragment.kt (89%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/fragment/MoBaseFragment.kt (90%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/fragment/MoHomeFragment.kt (91%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/fragment/MoMeFragment.kt (88%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/fragment/SearchFragment.kt (95%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/Innertube.kt (95%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/BrowseResponse.kt (98%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/ButtonRenderer.kt (75%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/Context.kt (97%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/Continuation.kt (91%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/ContinuationResponse.kt (92%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/GetQueueResponse.kt (85%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/GridRenderer.kt (83%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/MusicCardShelfRenderer.kt (85%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/MusicCarouselShelfRenderer.kt (95%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/MusicResponsiveListItemRenderer.kt (94%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/MusicShelfRenderer.kt (96%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/MusicTwoRowItemRenderer.kt (84%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/NavigationEndpoint.kt (99%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/NextResponse.kt (98%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/PlayerResponse.kt (97%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/PlaylistPanelVideoRenderer.kt (88%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/Runs.kt (94%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/SearchResponse.kt (67%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/SearchSuggestionsResponse.kt (94%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/SectionListContinuation.kt (94%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/SectionListRenderer.kt (95%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/Tabs.kt (91%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/Thumbnail.kt (91%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/ThumbnailRenderer.kt (80%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/bodies/BrowseBody.kt (64%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/bodies/BrowseMoreBody.kt (56%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/bodies/ContinuationBody.kt (61%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/bodies/NextBody.kt (86%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/bodies/PlayerBody.kt (65%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/bodies/QueueBody.kt (66%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/bodies/SearchBody.kt (63%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/models/bodies/SearchSuggestionsBody.kt (61%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/AlbumPage.kt (83%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/ArtistPage.kt (85%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/HomePage.kt (83%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/HomePageMore.kt (83%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/ItemsPage.kt (83%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/Lyrics.kt (74%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/MoNextPage.kt (74%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/MoPlaylistPage.kt (91%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/MoSearchPage.kt (94%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/MoSingerlistPage.kt (93%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/NextPage.kt (85%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/Player.kt (86%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/PlaylistPage.kt (83%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/Queue.kt (68%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/RelatedPage.kt (79%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/SearchPage.kt (78%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/requests/SearchSuggestions.kt (71%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/utils/BrotliEncoder.kt (93%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/utils/FromMusicResponsiveListItemRenderer.kt (85%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/utils/FromMusicShelfRendererContent.kt (95%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/utils/FromMusicTwoRowItemRenderer.kt (92%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/utils/FromPlaylistPanelVideoRenderer.kt (87%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/utils/Utils.kt (89%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/innertube/utils/brotli.kt (78%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/media/DefaultMediaNotificationProvider.kt (87%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/media/LocalMediaControllerManager.kt (87%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/media/MediaControllerManager.kt (75%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/media/MediaControllerUtils.kt (85%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/media/SongRadio.kt (85%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/service/CustomMediaNotificationProvider.kt (92%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/service/LocalPlaybackService.kt (93%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/service/MyDownloadService.kt (84%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/service/NotificationCustomButton.kt (94%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/service/PlaybackExceptions.kt (94%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/service/PlaybackService.kt (93%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/service/ViewModelMain.kt (86%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/sp/AppStore.kt (83%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/sp/SharedPreferencesHelper.kt (98%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/sp/store/Providers.kt (97%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/sp/store/Store.kt (98%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/sp/store/StoreProvider.kt (93%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/util/AudioPlayer.kt (98%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/util/CacheManager.kt (98%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/util/ConvertUtil.kt (94%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/util/DownloadUtil.kt (88%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/util/ExoPlayerDiskCacheMaxSize.kt (92%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/util/FileSizeConverter.kt (97%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/util/GridSpacingItemDecoration.kt (96%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/util/HorizontalSpaceItemDecoration.kt (96%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/util/LogTag.kt (93%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/util/OpenUrlUtil.kt (96%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/util/PlayMode.kt (88%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/util/ResourcesMusicUtil.kt (92%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/util/RingBuffer.kt (88%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/util/Utils.kt (91%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/view/BlurLayout.kt (99%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/view/CircularProgressBar.kt (98%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/view/CustomProgressBar.kt (98%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/view/MarqueeTextView.java (96%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/view/ModuleView.kt (93%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/view/MusicBarsView.kt (98%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/view/MusicPlayerView.kt (92%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/view/MusicResponsiveListView.kt (74%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/view/MusicTowRowListView.kt (72%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/view/RadiusLayout.kt (94%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/view/SearchResultOptimalView.kt (90%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/view/SearchResultOtherView.kt (85%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/view/SingerDetailsOtherView.kt (85%) rename app/src/main/java/{com/player/musicoo => relax/offline/music}/view/SingerDetailsSongView.kt (85%) create mode 100644 app/src/main/res/mipmap-xxhdpi/app_logo.png delete mode 100644 app/src/main/res/mipmap-xxhdpi/musicoo_logo_img.png rename app/src/test/java/{com/player/musicoo => relax/offline/music}/ExampleUnitTest.kt (91%) delete mode 100644 keyinfo/muiscoo_player_key create mode 100644 keyinfo/musiclax_player_key diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 2c509b3..e2bf998 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -7,19 +7,19 @@ plugins { } android { - namespace = "com.player.musicoo" + namespace = "relax.offline.music" compileSdk = 34 defaultConfig { - applicationId = "com.player.musicoo" + applicationId = "relax.offline.mp3.music" minSdk = 24 targetSdk = 34 versionCode = 1 - versionName = "1.0.2" + versionName = "1.0.1" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - setProperty("archivesBaseName", "Musicoo_${defaultConfig.versionName}(${defaultConfig.versionCode})") + setProperty("archivesBaseName", "Musiclax_${defaultConfig.versionName}(${defaultConfig.versionCode})") } buildTypes { diff --git a/app/src/androidTest/java/com/player/musicoo/ExampleInstrumentedTest.kt b/app/src/androidTest/java/relax/offline/music/ExampleInstrumentedTest.kt similarity index 85% rename from app/src/androidTest/java/com/player/musicoo/ExampleInstrumentedTest.kt rename to app/src/androidTest/java/relax/offline/music/ExampleInstrumentedTest.kt index 1bb5a7b..9f2eeb6 100644 --- a/app/src/androidTest/java/com/player/musicoo/ExampleInstrumentedTest.kt +++ b/app/src/androidTest/java/relax/offline/music/ExampleInstrumentedTest.kt @@ -1,4 +1,4 @@ -package com.player.musicoo +package relax.offline.music import androidx.test.platform.app.InstrumentationRegistry import androidx.test.ext.junit.runners.AndroidJUnit4 @@ -19,6 +19,6 @@ class ExampleInstrumentedTest { fun useAppContext() { // Context of the app under test. val appContext = InstrumentationRegistry.getInstrumentation().targetContext - assertEquals("com.player.musicoo", appContext.packageName) + assertEquals("relax.offline.music", appContext.packageName) } } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cb0defa..f04ecef 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -16,15 +16,15 @@ android:maxSdkVersion="32" /> ${offline.videoId}") diff --git a/app/src/main/java/com/player/musicoo/activity/MoPlayDetailsActivity.kt b/app/src/main/java/relax/offline/music/activity/MoPlayDetailsActivity.kt similarity index 96% rename from app/src/main/java/com/player/musicoo/activity/MoPlayDetailsActivity.kt rename to app/src/main/java/relax/offline/music/activity/MoPlayDetailsActivity.kt index c41ecde..6fa9678 100644 --- a/app/src/main/java/com/player/musicoo/activity/MoPlayDetailsActivity.kt +++ b/app/src/main/java/relax/offline/music/activity/MoPlayDetailsActivity.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.activity +package relax.offline.music.activity import android.annotation.SuppressLint import android.graphics.Bitmap @@ -10,7 +10,6 @@ import android.view.View import android.view.animation.AnimationUtils import androidx.annotation.OptIn import androidx.core.net.toUri -import androidx.lifecycle.LifecycleOwner import androidx.media3.common.MediaItem import androidx.media3.common.PlaybackException import androidx.media3.common.Player @@ -24,25 +23,20 @@ import com.bumptech.glide.Glide import com.bumptech.glide.request.target.CustomTarget import com.bumptech.glide.request.transition.Transition import com.gyf.immersionbar.ktx.immersionBar -import com.player.musicoo.App -import com.player.musicoo.R -import com.player.musicoo.adapter.PlayListAdapter -import com.player.musicoo.bean.OfflineBean -import com.player.musicoo.databinding.ActivityMoPlayDetailsBinding -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.media.MediaControllerManager -import com.player.musicoo.media.SongRadio -import com.player.musicoo.service.MyDownloadService -import com.player.musicoo.service.ViewModelMain -import com.player.musicoo.sp.AppStore -import com.player.musicoo.util.DownloadUtil -import com.player.musicoo.util.FileSizeConverter -import com.player.musicoo.util.LogTag -import com.player.musicoo.util.LogTag.LogD -import com.player.musicoo.util.PlayMode -import com.player.musicoo.util.asMediaItem -import com.player.musicoo.util.convertMillisToMinutesAndSecondsString -import kotlinx.coroutines.CoroutineScope +import relax.offline.music.R +import relax.offline.music.adapter.PlayListAdapter +import relax.offline.music.databinding.ActivityMoPlayDetailsBinding +import relax.offline.music.innertube.Innertube +import relax.offline.music.media.MediaControllerManager +import relax.offline.music.media.SongRadio +import relax.offline.music.service.MyDownloadService +import relax.offline.music.service.ViewModelMain +import relax.offline.music.sp.AppStore +import relax.offline.music.util.DownloadUtil +import relax.offline.music.util.LogTag.LogD +import relax.offline.music.util.PlayMode +import relax.offline.music.util.asMediaItem +import relax.offline.music.util.convertMillisToMinutesAndSecondsString import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.isActive import kotlinx.coroutines.launch @@ -590,7 +584,7 @@ class MoPlayDetailsActivity : MoBaseActivity(), Player.Listener { Glide.with(this) .asBitmap() .load(mediaItem.mediaMetadata.artworkUri) - .placeholder(R.mipmap.musicoo_logo_img) + .placeholder(R.mipmap.app_logo) .into(object : CustomTarget() { override fun onResourceReady(resource: Bitmap, transition: Transition?) { binding.thumbnail.setImageBitmap(resource) diff --git a/app/src/main/java/com/player/musicoo/activity/MoSearchMoreActivity.kt b/app/src/main/java/relax/offline/music/activity/MoSearchMoreActivity.kt similarity index 81% rename from app/src/main/java/com/player/musicoo/activity/MoSearchMoreActivity.kt rename to app/src/main/java/relax/offline/music/activity/MoSearchMoreActivity.kt index b39c748..4d06e66 100644 --- a/app/src/main/java/com/player/musicoo/activity/MoSearchMoreActivity.kt +++ b/app/src/main/java/relax/offline/music/activity/MoSearchMoreActivity.kt @@ -1,32 +1,15 @@ -package com.player.musicoo.activity +package relax.offline.music.activity import android.annotation.SuppressLint import android.view.View import androidx.recyclerview.widget.LinearLayoutManager -import androidx.recyclerview.widget.RecyclerView -import com.bumptech.glide.Glide import com.gyf.immersionbar.ktx.immersionBar -import com.player.musicoo.R -import com.player.musicoo.adapter.DetailsListAdapter -import com.player.musicoo.adapter.SearchResultOtherAdapter -import com.player.musicoo.databinding.ActivityDetailsBinding -import com.player.musicoo.databinding.ActivitySearchMoreBinding -import com.player.musicoo.databinding.ActivitySingerDetailsBinding -import com.player.musicoo.fragment.MoHomeFragment -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.bodies.ContinuationBody -import com.player.musicoo.innertube.models.bodies.SearchBody -import com.player.musicoo.innertube.requests.moPlaylistPage -import com.player.musicoo.innertube.requests.moSearchPage -import com.player.musicoo.innertube.requests.moSingerListPage -import com.player.musicoo.util.LogTag -import com.player.musicoo.util.LogTag.LogD -import com.player.musicoo.view.SearchResultOptimalView -import com.player.musicoo.view.SearchResultOtherView -import com.player.musicoo.view.SingerDetailsOtherView -import com.player.musicoo.view.SingerDetailsSongView -import com.scwang.smart.refresh.layout.api.RefreshLayout -import com.scwang.smart.refresh.layout.listener.OnLoadMoreListener +import relax.offline.music.adapter.SearchResultOtherAdapter +import relax.offline.music.databinding.ActivitySearchMoreBinding +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.bodies.ContinuationBody +import relax.offline.music.innertube.models.bodies.SearchBody +import relax.offline.music.innertube.requests.moSearchPage import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.isActive import kotlinx.coroutines.selects.select diff --git a/app/src/main/java/com/player/musicoo/activity/MoSingerDetailsActivity.kt b/app/src/main/java/relax/offline/music/activity/MoSingerDetailsActivity.kt similarity index 92% rename from app/src/main/java/com/player/musicoo/activity/MoSingerDetailsActivity.kt rename to app/src/main/java/relax/offline/music/activity/MoSingerDetailsActivity.kt index dabc0cc..49bb684 100644 --- a/app/src/main/java/com/player/musicoo/activity/MoSingerDetailsActivity.kt +++ b/app/src/main/java/relax/offline/music/activity/MoSingerDetailsActivity.kt @@ -1,14 +1,14 @@ -package com.player.musicoo.activity +package relax.offline.music.activity import android.view.View import com.bumptech.glide.Glide import com.gyf.immersionbar.ktx.immersionBar -import com.player.musicoo.databinding.ActivitySingerDetailsBinding -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.requests.moSingerListPage -import com.player.musicoo.util.LogTag.LogD -import com.player.musicoo.view.SingerDetailsOtherView -import com.player.musicoo.view.SingerDetailsSongView +import relax.offline.music.databinding.ActivitySingerDetailsBinding +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.requests.moSingerListPage +import relax.offline.music.util.LogTag.LogD +import relax.offline.music.view.SingerDetailsOtherView +import relax.offline.music.view.SingerDetailsSongView import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.isActive import kotlinx.coroutines.selects.select diff --git a/app/src/main/java/com/player/musicoo/activity/MoSingerMoreSongActivity.kt b/app/src/main/java/relax/offline/music/activity/MoSingerMoreSongActivity.kt similarity index 92% rename from app/src/main/java/com/player/musicoo/activity/MoSingerMoreSongActivity.kt rename to app/src/main/java/relax/offline/music/activity/MoSingerMoreSongActivity.kt index f9d762a..274a99e 100644 --- a/app/src/main/java/com/player/musicoo/activity/MoSingerMoreSongActivity.kt +++ b/app/src/main/java/relax/offline/music/activity/MoSingerMoreSongActivity.kt @@ -1,17 +1,17 @@ -package com.player.musicoo.activity +package relax.offline.music.activity import android.annotation.SuppressLint import android.view.View import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import com.gyf.immersionbar.ktx.immersionBar -import com.player.musicoo.adapter.SingerMoreSongAdapter -import com.player.musicoo.databinding.ActivitySearchMoreBinding -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.bodies.BrowseBody -import com.player.musicoo.innertube.models.bodies.ContinuationBody -import com.player.musicoo.innertube.requests.moSingerDetailsMoreLoadMorePage -import com.player.musicoo.innertube.requests.moSingerDetailsMorePage +import relax.offline.music.adapter.SingerMoreSongAdapter +import relax.offline.music.databinding.ActivitySearchMoreBinding +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.bodies.BrowseBody +import relax.offline.music.innertube.models.bodies.ContinuationBody +import relax.offline.music.innertube.requests.moSingerDetailsMoreLoadMorePage +import relax.offline.music.innertube.requests.moSingerDetailsMorePage import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.isActive import kotlinx.coroutines.selects.select diff --git a/app/src/main/java/com/player/musicoo/activity/PlayDetailsActivity.kt b/app/src/main/java/relax/offline/music/activity/PlayDetailsActivity.kt similarity index 94% rename from app/src/main/java/com/player/musicoo/activity/PlayDetailsActivity.kt rename to app/src/main/java/relax/offline/music/activity/PlayDetailsActivity.kt index 1e3d636..a644fed 100644 --- a/app/src/main/java/com/player/musicoo/activity/PlayDetailsActivity.kt +++ b/app/src/main/java/relax/offline/music/activity/PlayDetailsActivity.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.activity +package relax.offline.music.activity import android.animation.ValueAnimator import android.annotation.SuppressLint @@ -21,14 +21,14 @@ import androidx.media3.common.util.UnstableApi import com.bumptech.glide.Glide import com.google.android.material.slider.Slider.OnChangeListener import com.gyf.immersionbar.ktx.immersionBar -import com.player.musicoo.R -import com.player.musicoo.bean.Audio -import com.player.musicoo.databinding.ActivityPlayDetailsBinding -import com.player.musicoo.media.LocalMediaControllerManager -import com.player.musicoo.util.LogTag -import com.player.musicoo.util.containsContent -import com.player.musicoo.util.convertMillisToMinutesAndSecondsString -import com.player.musicoo.util.getAudioDurationFromAssets +import relax.offline.music.R +import relax.offline.music.bean.Audio +import relax.offline.music.databinding.ActivityPlayDetailsBinding +import relax.offline.music.media.LocalMediaControllerManager +import relax.offline.music.util.LogTag +import relax.offline.music.util.containsContent +import relax.offline.music.util.convertMillisToMinutesAndSecondsString +import relax.offline.music.util.getAudioDurationFromAssets import java.io.IOException import java.io.InputStream @@ -75,8 +75,8 @@ class PlayDetailsActivity : BaseActivity() { binding.imageView.setImageBitmap(blurredBitmap) } else { - binding.image.setImageResource(R.mipmap.musicoo_logo_img) - val bitmap = loadBitmapFromAsset(R.mipmap.musicoo_logo_img) + binding.image.setImageResource(R.mipmap.app_logo) + val bitmap = loadBitmapFromAsset(R.mipmap.app_logo) val blurredBitmap = applyGaussianBlur(bitmap, 25f, this) binding.imageView.setImageBitmap(blurredBitmap) } diff --git a/app/src/main/java/com/player/musicoo/activity/PrimaryActivity.kt b/app/src/main/java/relax/offline/music/activity/PrimaryActivity.kt similarity index 87% rename from app/src/main/java/com/player/musicoo/activity/PrimaryActivity.kt rename to app/src/main/java/relax/offline/music/activity/PrimaryActivity.kt index c35ee17..eb68318 100644 --- a/app/src/main/java/com/player/musicoo/activity/PrimaryActivity.kt +++ b/app/src/main/java/relax/offline/music/activity/PrimaryActivity.kt @@ -1,24 +1,14 @@ -package com.player.musicoo.activity +package relax.offline.music.activity -import android.content.Intent -import android.os.Handler -import android.os.Looper -import android.os.Message import android.view.View import android.widget.Toast import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentTransaction -import androidx.media3.common.MediaItem -import androidx.media3.common.Player -import com.bumptech.glide.Glide -import com.player.musicoo.R -import com.player.musicoo.databinding.ActivityPrimaryBinding -import com.player.musicoo.fragment.ImportFragment -import com.player.musicoo.fragment.MoHomeFragment -import com.player.musicoo.fragment.MoMeFragment -import com.player.musicoo.fragment.SearchFragment -import com.player.musicoo.media.MediaControllerManager -import com.player.musicoo.util.LogTag.LogD +import relax.offline.music.R +import relax.offline.music.databinding.ActivityPrimaryBinding +import relax.offline.music.fragment.MoHomeFragment +import relax.offline.music.fragment.MoMeFragment +import relax.offline.music.fragment.SearchFragment import kotlinx.coroutines.isActive import kotlinx.coroutines.selects.select diff --git a/app/src/main/java/com/player/musicoo/activity/SettingsActivity.kt b/app/src/main/java/relax/offline/music/activity/SettingsActivity.kt similarity index 76% rename from app/src/main/java/com/player/musicoo/activity/SettingsActivity.kt rename to app/src/main/java/relax/offline/music/activity/SettingsActivity.kt index 6dcae0c..4cd4070 100644 --- a/app/src/main/java/com/player/musicoo/activity/SettingsActivity.kt +++ b/app/src/main/java/relax/offline/music/activity/SettingsActivity.kt @@ -1,17 +1,17 @@ -package com.player.musicoo.activity +package relax.offline.music.activity import android.content.Intent import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import com.gyf.immersionbar.ktx.immersionBar -import com.player.musicoo.R -import com.player.musicoo.databinding.ActivitySettingsBinding -import com.player.musicoo.util.PRIVACY_POLICY_URL -import com.player.musicoo.util.TERMS_OF_SERVICE_URL -import com.player.musicoo.util.openPrivacyPolicy -import com.player.musicoo.util.openTermsOfService -import com.player.musicoo.util.sendFeedback -import com.player.musicoo.util.shareApp +import relax.offline.music.R +import relax.offline.music.databinding.ActivitySettingsBinding +import relax.offline.music.util.PRIVACY_POLICY_URL +import relax.offline.music.util.TERMS_OF_SERVICE_URL +import relax.offline.music.util.openPrivacyPolicy +import relax.offline.music.util.openTermsOfService +import relax.offline.music.util.sendFeedback +import relax.offline.music.util.shareApp class SettingsActivity : AppCompatActivity() { private lateinit var binding: ActivitySettingsBinding diff --git a/app/src/main/java/com/player/musicoo/adapter/DetailsListAdapter.kt b/app/src/main/java/relax/offline/music/adapter/DetailsListAdapter.kt similarity index 83% rename from app/src/main/java/com/player/musicoo/adapter/DetailsListAdapter.kt rename to app/src/main/java/relax/offline/music/adapter/DetailsListAdapter.kt index 82ffa17..1579404 100644 --- a/app/src/main/java/com/player/musicoo/adapter/DetailsListAdapter.kt +++ b/app/src/main/java/relax/offline/music/adapter/DetailsListAdapter.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.adapter +package relax.offline.music.adapter import android.annotation.SuppressLint import android.content.Context @@ -6,23 +6,13 @@ import android.content.Intent import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.compose.ui.graphics.Color import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide -import com.player.musicoo.App -import com.player.musicoo.R -import com.player.musicoo.activity.MoPlayDetailsActivity -import com.player.musicoo.activity.PlayDetailsActivity -import com.player.musicoo.bean.Audio -import com.player.musicoo.databinding.DetailsListItemBinding -import com.player.musicoo.databinding.MusicResponsiveItemBinding -import com.player.musicoo.databinding.SoundsOfAppliancesLayoutBinding -import com.player.musicoo.databinding.SoundsOfNatureLayoutBinding -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer -import com.player.musicoo.media.MediaControllerManager -import com.player.musicoo.util.convertMillisToMinutesAndSecondsString -import com.player.musicoo.util.getAudioDurationFromAssets +import relax.offline.music.R +import relax.offline.music.activity.MoPlayDetailsActivity +import relax.offline.music.databinding.DetailsListItemBinding +import relax.offline.music.innertube.Innertube +import relax.offline.music.media.MediaControllerManager class DetailsListAdapter( private val context: Context, diff --git a/app/src/main/java/com/player/musicoo/adapter/OfflineSongsAdapter.kt b/app/src/main/java/relax/offline/music/adapter/OfflineSongsAdapter.kt similarity index 89% rename from app/src/main/java/com/player/musicoo/adapter/OfflineSongsAdapter.kt rename to app/src/main/java/relax/offline/music/adapter/OfflineSongsAdapter.kt index 1decd0e..b77cd0c 100644 --- a/app/src/main/java/com/player/musicoo/adapter/OfflineSongsAdapter.kt +++ b/app/src/main/java/relax/offline/music/adapter/OfflineSongsAdapter.kt @@ -1,20 +1,16 @@ -package com.player.musicoo.adapter +package relax.offline.music.adapter import android.annotation.SuppressLint import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.media3.common.C -import androidx.media3.common.MediaItem -import androidx.media3.common.Player import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide -import com.player.musicoo.R -import com.player.musicoo.bean.OfflineBean -import com.player.musicoo.databinding.OfflineListItemBinding -import com.player.musicoo.databinding.PlayListItemBinding -import com.player.musicoo.media.MediaControllerManager +import relax.offline.music.R +import relax.offline.music.bean.OfflineBean +import relax.offline.music.databinding.OfflineListItemBinding +import relax.offline.music.media.MediaControllerManager class OfflineSongsAdapter( private val context: Context, diff --git a/app/src/main/java/com/player/musicoo/adapter/ParentsVoiceAdapter.kt b/app/src/main/java/relax/offline/music/adapter/ParentsVoiceAdapter.kt similarity index 79% rename from app/src/main/java/com/player/musicoo/adapter/ParentsVoiceAdapter.kt rename to app/src/main/java/relax/offline/music/adapter/ParentsVoiceAdapter.kt index d387425..2d5a96c 100644 --- a/app/src/main/java/com/player/musicoo/adapter/ParentsVoiceAdapter.kt +++ b/app/src/main/java/relax/offline/music/adapter/ParentsVoiceAdapter.kt @@ -1,20 +1,18 @@ -package com.player.musicoo.adapter +package relax.offline.music.adapter import android.content.Context import android.content.Intent -import android.net.Uri import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView -import com.player.musicoo.App -import com.player.musicoo.R -import com.player.musicoo.activity.PlayDetailsActivity -import com.player.musicoo.bean.Audio -import com.player.musicoo.databinding.ParentsVoiceLayoutBinding -import com.player.musicoo.util.containsContent -import com.player.musicoo.util.convertMillisToMinutesAndSecondsString -import com.player.musicoo.util.getAudioDurationFromAssets +import relax.offline.music.R +import relax.offline.music.activity.PlayDetailsActivity +import relax.offline.music.bean.Audio +import relax.offline.music.databinding.ParentsVoiceLayoutBinding +import relax.offline.music.util.containsContent +import relax.offline.music.util.convertMillisToMinutesAndSecondsString +import relax.offline.music.util.getAudioDurationFromAssets class ParentsVoiceAdapter( private val context: Context, @@ -44,7 +42,7 @@ class ParentsVoiceAdapter( fun bind(audio: Audio) { binding.apply { - image.setImageResource(R.mipmap.musicoo_logo_img) + image.setImageResource(R.mipmap.app_logo) name.text = audio.name name.requestFocus() if (containsContent(audio.file)) { @@ -54,8 +52,8 @@ class ParentsVoiceAdapter( desc.text = convertMillisToMinutesAndSecondsString(s) } - if (App.currentPlayingAudio != null) { - if (App.currentPlayingAudio?.file == audio.file) { + if (relax.offline.music.App.currentPlayingAudio != null) { + if (relax.offline.music.App.currentPlayingAudio?.file == audio.file) { playingLayout.visibility = View.VISIBLE name.setTextColor(context.getColor(R.color.green)) desc.setTextColor(context.getColor(R.color.green)) diff --git a/app/src/main/java/com/player/musicoo/adapter/PlayListAdapter.kt b/app/src/main/java/relax/offline/music/adapter/PlayListAdapter.kt similarity index 93% rename from app/src/main/java/com/player/musicoo/adapter/PlayListAdapter.kt rename to app/src/main/java/relax/offline/music/adapter/PlayListAdapter.kt index 07cdaf2..cfb56ad 100644 --- a/app/src/main/java/com/player/musicoo/adapter/PlayListAdapter.kt +++ b/app/src/main/java/relax/offline/music/adapter/PlayListAdapter.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.adapter +package relax.offline.music.adapter import android.annotation.SuppressLint import android.content.Context @@ -7,12 +7,11 @@ import android.view.View import android.view.ViewGroup import androidx.media3.common.C import androidx.media3.common.MediaItem -import androidx.media3.common.Player import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide -import com.player.musicoo.R -import com.player.musicoo.databinding.PlayListItemBinding -import com.player.musicoo.media.MediaControllerManager +import relax.offline.music.R +import relax.offline.music.databinding.PlayListItemBinding +import relax.offline.music.media.MediaControllerManager class PlayListAdapter( private val context: Context, diff --git a/app/src/main/java/com/player/musicoo/adapter/RealHumanVoiceAdapter.kt b/app/src/main/java/relax/offline/music/adapter/RealHumanVoiceAdapter.kt similarity index 81% rename from app/src/main/java/com/player/musicoo/adapter/RealHumanVoiceAdapter.kt rename to app/src/main/java/relax/offline/music/adapter/RealHumanVoiceAdapter.kt index 808ebe4..24dd1fc 100644 --- a/app/src/main/java/com/player/musicoo/adapter/RealHumanVoiceAdapter.kt +++ b/app/src/main/java/relax/offline/music/adapter/RealHumanVoiceAdapter.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.adapter +package relax.offline.music.adapter import android.content.Context import android.content.Intent @@ -6,13 +6,12 @@ import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide -import com.player.musicoo.App -import com.player.musicoo.R -import com.player.musicoo.activity.PlayDetailsActivity -import com.player.musicoo.bean.Audio -import com.player.musicoo.databinding.RealHumanVoiceLayoutBinding -import com.player.musicoo.util.convertMillisToMinutesAndSecondsString -import com.player.musicoo.util.getAudioDurationFromAssets +import relax.offline.music.R +import relax.offline.music.activity.PlayDetailsActivity +import relax.offline.music.bean.Audio +import relax.offline.music.databinding.RealHumanVoiceLayoutBinding +import relax.offline.music.util.convertMillisToMinutesAndSecondsString +import relax.offline.music.util.getAudioDurationFromAssets class RealHumanVoiceAdapter( private val context: Context, @@ -50,8 +49,8 @@ class RealHumanVoiceAdapter( val s = getAudioDurationFromAssets(context, audio.file) desc.text = convertMillisToMinutesAndSecondsString(s) - if (App.currentPlayingAudio != null) { - if (App.currentPlayingAudio?.file == audio.file) { + if (relax.offline.music.App.currentPlayingAudio != null) { + if (relax.offline.music.App.currentPlayingAudio?.file == audio.file) { name.setTextColor(context.getColor(R.color.green)) desc.setTextColor(context.getColor(R.color.green)) } else { diff --git a/app/src/main/java/com/player/musicoo/adapter/ResponsiveListAdapter.kt b/app/src/main/java/relax/offline/music/adapter/ResponsiveListAdapter.kt similarity index 92% rename from app/src/main/java/com/player/musicoo/adapter/ResponsiveListAdapter.kt rename to app/src/main/java/relax/offline/music/adapter/ResponsiveListAdapter.kt index 5841846..a182967 100644 --- a/app/src/main/java/com/player/musicoo/adapter/ResponsiveListAdapter.kt +++ b/app/src/main/java/relax/offline/music/adapter/ResponsiveListAdapter.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.adapter +package relax.offline.music.adapter import android.content.Context import android.content.Intent @@ -7,12 +7,11 @@ import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide -import com.player.musicoo.R -import com.player.musicoo.activity.MoPlayDetailsActivity -import com.player.musicoo.databinding.MusicResponsiveItemBinding -import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer -import com.player.musicoo.innertube.models.bodies.NextBody -import com.player.musicoo.media.MediaControllerManager +import relax.offline.music.R +import relax.offline.music.activity.MoPlayDetailsActivity +import relax.offline.music.databinding.MusicResponsiveItemBinding +import relax.offline.music.innertube.models.MusicCarouselShelfRenderer +import relax.offline.music.media.MediaControllerManager class ResponsiveListAdapter( private val context: Context, diff --git a/app/src/main/java/com/player/musicoo/adapter/SearchHistoryAdapter.kt b/app/src/main/java/relax/offline/music/adapter/SearchHistoryAdapter.kt similarity index 93% rename from app/src/main/java/com/player/musicoo/adapter/SearchHistoryAdapter.kt rename to app/src/main/java/relax/offline/music/adapter/SearchHistoryAdapter.kt index 578d08c..d8f3752 100644 --- a/app/src/main/java/com/player/musicoo/adapter/SearchHistoryAdapter.kt +++ b/app/src/main/java/relax/offline/music/adapter/SearchHistoryAdapter.kt @@ -1,10 +1,10 @@ -package com.player.musicoo.adapter +package relax.offline.music.adapter import android.content.Context import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView -import com.player.musicoo.databinding.SearchHistoryAdapterItemBinding +import relax.offline.music.databinding.SearchHistoryAdapterItemBinding class SearchHistoryAdapter( private val context: Context, diff --git a/app/src/main/java/com/player/musicoo/adapter/SearchResultOtherAdapter.kt b/app/src/main/java/relax/offline/music/adapter/SearchResultOtherAdapter.kt similarity index 82% rename from app/src/main/java/com/player/musicoo/adapter/SearchResultOtherAdapter.kt rename to app/src/main/java/relax/offline/music/adapter/SearchResultOtherAdapter.kt index 13e1488..5f6cd42 100644 --- a/app/src/main/java/com/player/musicoo/adapter/SearchResultOtherAdapter.kt +++ b/app/src/main/java/relax/offline/music/adapter/SearchResultOtherAdapter.kt @@ -1,26 +1,18 @@ -package com.player.musicoo.adapter +package relax.offline.music.adapter import android.annotation.SuppressLint import android.content.Context import android.content.Intent import android.view.LayoutInflater -import android.view.View import android.view.ViewGroup -import androidx.media3.common.C -import androidx.media3.common.MediaItem -import androidx.media3.common.Player import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide -import com.player.musicoo.R -import com.player.musicoo.activity.MoListDetailsActivity -import com.player.musicoo.activity.MoPlayDetailsActivity -import com.player.musicoo.activity.MoSingerDetailsActivity -import com.player.musicoo.databinding.PlayListItemBinding -import com.player.musicoo.databinding.SearchResultOtherItemBinding -import com.player.musicoo.databinding.SearchResultOtherLayoutBinding -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.media.MediaControllerManager -import com.player.musicoo.util.LogTag +import relax.offline.music.activity.MoListDetailsActivity +import relax.offline.music.activity.MoPlayDetailsActivity +import relax.offline.music.activity.MoSingerDetailsActivity +import relax.offline.music.databinding.SearchResultOtherItemBinding +import relax.offline.music.innertube.Innertube +import relax.offline.music.util.LogTag class SearchResultOtherAdapter( private val context: Context, diff --git a/app/src/main/java/com/player/musicoo/adapter/SearchSuggestionsAdapter.kt b/app/src/main/java/relax/offline/music/adapter/SearchSuggestionsAdapter.kt similarity index 92% rename from app/src/main/java/com/player/musicoo/adapter/SearchSuggestionsAdapter.kt rename to app/src/main/java/relax/offline/music/adapter/SearchSuggestionsAdapter.kt index 57f30ce..d6ccbc1 100644 --- a/app/src/main/java/com/player/musicoo/adapter/SearchSuggestionsAdapter.kt +++ b/app/src/main/java/relax/offline/music/adapter/SearchSuggestionsAdapter.kt @@ -1,10 +1,10 @@ -package com.player.musicoo.adapter +package relax.offline.music.adapter import android.content.Context import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView -import com.player.musicoo.databinding.SearchSuggestionsAdapterItemBinding +import relax.offline.music.databinding.SearchSuggestionsAdapterItemBinding class SearchSuggestionsAdapter( private val context: Context, diff --git a/app/src/main/java/com/player/musicoo/adapter/SingerDetailsSongListAdapter.kt b/app/src/main/java/relax/offline/music/adapter/SingerDetailsSongListAdapter.kt similarity index 84% rename from app/src/main/java/com/player/musicoo/adapter/SingerDetailsSongListAdapter.kt rename to app/src/main/java/relax/offline/music/adapter/SingerDetailsSongListAdapter.kt index 39c509b..4ecbbf0 100644 --- a/app/src/main/java/com/player/musicoo/adapter/SingerDetailsSongListAdapter.kt +++ b/app/src/main/java/relax/offline/music/adapter/SingerDetailsSongListAdapter.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.adapter +package relax.offline.music.adapter import android.annotation.SuppressLint import android.content.Context @@ -8,20 +8,9 @@ import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide -import com.player.musicoo.App -import com.player.musicoo.R -import com.player.musicoo.activity.MoPlayDetailsActivity -import com.player.musicoo.activity.PlayDetailsActivity -import com.player.musicoo.bean.Audio -import com.player.musicoo.databinding.DetailsListItemBinding -import com.player.musicoo.databinding.MusicResponsiveItemBinding -import com.player.musicoo.databinding.SoundsOfAppliancesLayoutBinding -import com.player.musicoo.databinding.SoundsOfNatureLayoutBinding -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer -import com.player.musicoo.innertube.models.MusicShelfRenderer -import com.player.musicoo.util.convertMillisToMinutesAndSecondsString -import com.player.musicoo.util.getAudioDurationFromAssets +import relax.offline.music.activity.MoPlayDetailsActivity +import relax.offline.music.databinding.DetailsListItemBinding +import relax.offline.music.innertube.models.MusicShelfRenderer class SingerDetailsSongListAdapter( private val context: Context, diff --git a/app/src/main/java/com/player/musicoo/adapter/SingerMoreSongAdapter.kt b/app/src/main/java/relax/offline/music/adapter/SingerMoreSongAdapter.kt similarity index 85% rename from app/src/main/java/com/player/musicoo/adapter/SingerMoreSongAdapter.kt rename to app/src/main/java/relax/offline/music/adapter/SingerMoreSongAdapter.kt index 4b1588a..43618fe 100644 --- a/app/src/main/java/com/player/musicoo/adapter/SingerMoreSongAdapter.kt +++ b/app/src/main/java/relax/offline/music/adapter/SingerMoreSongAdapter.kt @@ -1,27 +1,17 @@ -package com.player.musicoo.adapter +package relax.offline.music.adapter import android.annotation.SuppressLint import android.content.Context import android.content.Intent import android.view.LayoutInflater -import android.view.View import android.view.ViewGroup -import androidx.media3.common.C -import androidx.media3.common.MediaItem -import androidx.media3.common.Player import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide -import com.player.musicoo.R -import com.player.musicoo.activity.MoListDetailsActivity -import com.player.musicoo.activity.MoPlayDetailsActivity -import com.player.musicoo.activity.MoSingerDetailsActivity -import com.player.musicoo.databinding.MusicTowRowItemBinding -import com.player.musicoo.databinding.PlayListItemBinding -import com.player.musicoo.databinding.SearchResultOtherItemBinding -import com.player.musicoo.databinding.SearchResultOtherLayoutBinding -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.media.MediaControllerManager -import com.player.musicoo.util.LogTag +import relax.offline.music.activity.MoListDetailsActivity +import relax.offline.music.activity.MoPlayDetailsActivity +import relax.offline.music.databinding.MusicTowRowItemBinding +import relax.offline.music.databinding.SearchResultOtherItemBinding +import relax.offline.music.innertube.Innertube class SingerMoreSongAdapter( private val context: Context, diff --git a/app/src/main/java/com/player/musicoo/adapter/SoundsOfAppliancesAdapter.kt b/app/src/main/java/relax/offline/music/adapter/SoundsOfAppliancesAdapter.kt similarity index 82% rename from app/src/main/java/com/player/musicoo/adapter/SoundsOfAppliancesAdapter.kt rename to app/src/main/java/relax/offline/music/adapter/SoundsOfAppliancesAdapter.kt index 9cc5189..2fe3c62 100644 --- a/app/src/main/java/com/player/musicoo/adapter/SoundsOfAppliancesAdapter.kt +++ b/app/src/main/java/relax/offline/music/adapter/SoundsOfAppliancesAdapter.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.adapter +package relax.offline.music.adapter import android.content.Context import android.content.Intent @@ -7,13 +7,12 @@ import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide -import com.player.musicoo.App -import com.player.musicoo.R -import com.player.musicoo.activity.PlayDetailsActivity -import com.player.musicoo.bean.Audio -import com.player.musicoo.databinding.SoundsOfAppliancesLayoutBinding -import com.player.musicoo.util.convertMillisToMinutesAndSecondsString -import com.player.musicoo.util.getAudioDurationFromAssets +import relax.offline.music.R +import relax.offline.music.activity.PlayDetailsActivity +import relax.offline.music.bean.Audio +import relax.offline.music.databinding.SoundsOfAppliancesLayoutBinding +import relax.offline.music.util.convertMillisToMinutesAndSecondsString +import relax.offline.music.util.getAudioDurationFromAssets class SoundsOfAppliancesAdapter( private val context: Context, @@ -52,8 +51,8 @@ class SoundsOfAppliancesAdapter( val s = getAudioDurationFromAssets(context, audio.file) desc.text = convertMillisToMinutesAndSecondsString(s) - if (App.currentPlayingAudio != null) { - if (App.currentPlayingAudio?.file == audio.file) { + if (relax.offline.music.App.currentPlayingAudio != null) { + if (relax.offline.music.App.currentPlayingAudio?.file == audio.file) { playingLayout.visibility = View.VISIBLE name.setTextColor(context.getColor(R.color.green)) desc.setTextColor(context.getColor(R.color.green)) diff --git a/app/src/main/java/com/player/musicoo/adapter/SoundsOfNatureAdapter.kt b/app/src/main/java/relax/offline/music/adapter/SoundsOfNatureAdapter.kt similarity index 81% rename from app/src/main/java/com/player/musicoo/adapter/SoundsOfNatureAdapter.kt rename to app/src/main/java/relax/offline/music/adapter/SoundsOfNatureAdapter.kt index 2851ad6..9e19a26 100644 --- a/app/src/main/java/com/player/musicoo/adapter/SoundsOfNatureAdapter.kt +++ b/app/src/main/java/relax/offline/music/adapter/SoundsOfNatureAdapter.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.adapter +package relax.offline.music.adapter import android.content.Context import android.content.Intent @@ -7,14 +7,12 @@ import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide -import com.player.musicoo.App -import com.player.musicoo.R -import com.player.musicoo.activity.PlayDetailsActivity -import com.player.musicoo.bean.Audio -import com.player.musicoo.databinding.SoundsOfAppliancesLayoutBinding -import com.player.musicoo.databinding.SoundsOfNatureLayoutBinding -import com.player.musicoo.util.convertMillisToMinutesAndSecondsString -import com.player.musicoo.util.getAudioDurationFromAssets +import relax.offline.music.R +import relax.offline.music.activity.PlayDetailsActivity +import relax.offline.music.bean.Audio +import relax.offline.music.databinding.SoundsOfNatureLayoutBinding +import relax.offline.music.util.convertMillisToMinutesAndSecondsString +import relax.offline.music.util.getAudioDurationFromAssets class SoundsOfNatureAdapter( private val context: Context, @@ -53,8 +51,8 @@ class SoundsOfNatureAdapter( val s = getAudioDurationFromAssets(context, audio.file) desc.text = convertMillisToMinutesAndSecondsString(s) - if (App.currentPlayingAudio != null) { - if (App.currentPlayingAudio?.file == audio.file) { + if (relax.offline.music.App.currentPlayingAudio != null) { + if (relax.offline.music.App.currentPlayingAudio?.file == audio.file) { playingLayout.visibility = View.VISIBLE name.setTextColor(context.getColor(R.color.green)) desc.setTextColor(context.getColor(R.color.green)) diff --git a/app/src/main/java/com/player/musicoo/adapter/TowRowListAdapter.kt b/app/src/main/java/relax/offline/music/adapter/TowRowListAdapter.kt similarity index 92% rename from app/src/main/java/com/player/musicoo/adapter/TowRowListAdapter.kt rename to app/src/main/java/relax/offline/music/adapter/TowRowListAdapter.kt index fafc948..8de5f26 100644 --- a/app/src/main/java/com/player/musicoo/adapter/TowRowListAdapter.kt +++ b/app/src/main/java/relax/offline/music/adapter/TowRowListAdapter.kt @@ -1,17 +1,16 @@ -package com.player.musicoo.adapter +package relax.offline.music.adapter import android.app.Activity -import android.content.Context import android.content.Intent import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide -import com.player.musicoo.activity.MoListDetailsActivity -import com.player.musicoo.activity.MoPlayDetailsActivity -import com.player.musicoo.activity.MoSingerDetailsActivity -import com.player.musicoo.databinding.MusicTowRowItemBinding -import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer +import relax.offline.music.activity.MoListDetailsActivity +import relax.offline.music.activity.MoPlayDetailsActivity +import relax.offline.music.activity.MoSingerDetailsActivity +import relax.offline.music.databinding.MusicTowRowItemBinding +import relax.offline.music.innertube.models.MusicCarouselShelfRenderer class TowRowListAdapter( private val context: Activity, diff --git a/app/src/main/java/com/player/musicoo/bean/Audio.kt b/app/src/main/java/relax/offline/music/bean/Audio.kt similarity index 94% rename from app/src/main/java/com/player/musicoo/bean/Audio.kt rename to app/src/main/java/relax/offline/music/bean/Audio.kt index 4001afe..27ae89b 100644 --- a/app/src/main/java/com/player/musicoo/bean/Audio.kt +++ b/app/src/main/java/relax/offline/music/bean/Audio.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.bean +package relax.offline.music.bean import androidx.annotation.Keep import androidx.room.ColumnInfo diff --git a/app/src/main/java/com/player/musicoo/bean/Category.kt b/app/src/main/java/relax/offline/music/bean/Category.kt similarity index 78% rename from app/src/main/java/com/player/musicoo/bean/Category.kt rename to app/src/main/java/relax/offline/music/bean/Category.kt index f457867..c6d3c17 100644 --- a/app/src/main/java/com/player/musicoo/bean/Category.kt +++ b/app/src/main/java/relax/offline/music/bean/Category.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.bean +package relax.offline.music.bean import java.io.Serializable diff --git a/app/src/main/java/com/player/musicoo/bean/CurrentPlayingAudio.kt b/app/src/main/java/relax/offline/music/bean/CurrentPlayingAudio.kt similarity index 93% rename from app/src/main/java/com/player/musicoo/bean/CurrentPlayingAudio.kt rename to app/src/main/java/relax/offline/music/bean/CurrentPlayingAudio.kt index 0c05042..fda5dd1 100644 --- a/app/src/main/java/com/player/musicoo/bean/CurrentPlayingAudio.kt +++ b/app/src/main/java/relax/offline/music/bean/CurrentPlayingAudio.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.bean +package relax.offline.music.bean import androidx.room.ColumnInfo import androidx.room.Entity diff --git a/app/src/main/java/com/player/musicoo/bean/OfflineBean.kt b/app/src/main/java/relax/offline/music/bean/OfflineBean.kt similarity index 91% rename from app/src/main/java/com/player/musicoo/bean/OfflineBean.kt rename to app/src/main/java/relax/offline/music/bean/OfflineBean.kt index 5d3646f..2993838 100644 --- a/app/src/main/java/com/player/musicoo/bean/OfflineBean.kt +++ b/app/src/main/java/relax/offline/music/bean/OfflineBean.kt @@ -1,6 +1,5 @@ -package com.player.musicoo.bean +package relax.offline.music.bean -import android.net.Uri import androidx.annotation.Keep import androidx.room.ColumnInfo import androidx.room.Entity diff --git a/app/src/main/java/com/player/musicoo/bean/ResourcesList.kt b/app/src/main/java/relax/offline/music/bean/ResourcesList.kt similarity index 76% rename from app/src/main/java/com/player/musicoo/bean/ResourcesList.kt rename to app/src/main/java/relax/offline/music/bean/ResourcesList.kt index 735e3dc..e6114ff 100644 --- a/app/src/main/java/com/player/musicoo/bean/ResourcesList.kt +++ b/app/src/main/java/relax/offline/music/bean/ResourcesList.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.bean +package relax.offline.music.bean import java.io.Serializable diff --git a/app/src/main/java/com/player/musicoo/database/AppDatabase.kt b/app/src/main/java/relax/offline/music/database/AppDatabase.kt similarity index 75% rename from app/src/main/java/com/player/musicoo/database/AppDatabase.kt rename to app/src/main/java/relax/offline/music/database/AppDatabase.kt index 85b00e8..004f3e2 100644 --- a/app/src/main/java/com/player/musicoo/database/AppDatabase.kt +++ b/app/src/main/java/relax/offline/music/database/AppDatabase.kt @@ -1,9 +1,9 @@ -package com.player.musicoo.database +package relax.offline.music.database import androidx.room.Database import androidx.room.RoomDatabase -import com.player.musicoo.bean.Audio +import relax.offline.music.bean.Audio @Database(entities = [Audio::class], version = 1, exportSchema = false) abstract class AppDatabase : RoomDatabase() { diff --git a/app/src/main/java/com/player/musicoo/database/AppOfflineDBManager.kt b/app/src/main/java/relax/offline/music/database/AppOfflineDBManager.kt similarity index 95% rename from app/src/main/java/com/player/musicoo/database/AppOfflineDBManager.kt rename to app/src/main/java/relax/offline/music/database/AppOfflineDBManager.kt index 075f74b..2fd3705 100644 --- a/app/src/main/java/com/player/musicoo/database/AppOfflineDBManager.kt +++ b/app/src/main/java/relax/offline/music/database/AppOfflineDBManager.kt @@ -1,9 +1,9 @@ -package com.player.musicoo.database +package relax.offline.music.database import android.content.Context import androidx.room.Room -import com.player.musicoo.bean.OfflineBean -import com.player.musicoo.util.LogTag +import relax.offline.music.bean.OfflineBean +import relax.offline.music.util.LogTag import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext diff --git a/app/src/main/java/com/player/musicoo/database/AppOfflineDatabase.kt b/app/src/main/java/relax/offline/music/database/AppOfflineDatabase.kt similarity index 75% rename from app/src/main/java/com/player/musicoo/database/AppOfflineDatabase.kt rename to app/src/main/java/relax/offline/music/database/AppOfflineDatabase.kt index 23f633e..2ea9029 100644 --- a/app/src/main/java/com/player/musicoo/database/AppOfflineDatabase.kt +++ b/app/src/main/java/relax/offline/music/database/AppOfflineDatabase.kt @@ -1,9 +1,9 @@ -package com.player.musicoo.database +package relax.offline.music.database import androidx.room.Database import androidx.room.RoomDatabase -import com.player.musicoo.bean.OfflineBean +import relax.offline.music.bean.OfflineBean @Database(entities = [OfflineBean::class], version = 1, exportSchema = false) abstract class AppOfflineDatabase : RoomDatabase() { diff --git a/app/src/main/java/com/player/musicoo/database/CurrentAudioDatabase.kt b/app/src/main/java/relax/offline/music/database/CurrentAudioDatabase.kt similarity index 75% rename from app/src/main/java/com/player/musicoo/database/CurrentAudioDatabase.kt rename to app/src/main/java/relax/offline/music/database/CurrentAudioDatabase.kt index 21ac1f9..29f10c7 100644 --- a/app/src/main/java/com/player/musicoo/database/CurrentAudioDatabase.kt +++ b/app/src/main/java/relax/offline/music/database/CurrentAudioDatabase.kt @@ -1,9 +1,9 @@ -package com.player.musicoo.database +package relax.offline.music.database import androidx.room.Database import androidx.room.RoomDatabase -import com.player.musicoo.bean.CurrentPlayingAudio +import relax.offline.music.bean.CurrentPlayingAudio @Database(entities = [CurrentPlayingAudio::class], version = 1, exportSchema = false) abstract class CurrentAudioDatabase : RoomDatabase() { diff --git a/app/src/main/java/com/player/musicoo/database/CurrentAudioManager.kt b/app/src/main/java/relax/offline/music/database/CurrentAudioManager.kt similarity index 93% rename from app/src/main/java/com/player/musicoo/database/CurrentAudioManager.kt rename to app/src/main/java/relax/offline/music/database/CurrentAudioManager.kt index 3ae129b..a47f5cf 100644 --- a/app/src/main/java/com/player/musicoo/database/CurrentAudioManager.kt +++ b/app/src/main/java/relax/offline/music/database/CurrentAudioManager.kt @@ -1,8 +1,8 @@ -package com.player.musicoo.database +package relax.offline.music.database import android.content.Context import androidx.room.Room -import com.player.musicoo.bean.CurrentPlayingAudio +import relax.offline.music.bean.CurrentPlayingAudio class CurrentAudioManager private constructor(context: Context) { private val database: CurrentAudioDatabase = Room.databaseBuilder( diff --git a/app/src/main/java/com/player/musicoo/database/CurrentPlayingAudioDao.kt b/app/src/main/java/relax/offline/music/database/CurrentPlayingAudioDao.kt similarity index 87% rename from app/src/main/java/com/player/musicoo/database/CurrentPlayingAudioDao.kt rename to app/src/main/java/relax/offline/music/database/CurrentPlayingAudioDao.kt index bf49571..dbf6ee7 100644 --- a/app/src/main/java/com/player/musicoo/database/CurrentPlayingAudioDao.kt +++ b/app/src/main/java/relax/offline/music/database/CurrentPlayingAudioDao.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.database +package relax.offline.music.database import androidx.room.Dao import androidx.room.Delete @@ -6,7 +6,7 @@ import androidx.room.Insert import androidx.room.OnConflictStrategy import androidx.room.Query import androidx.room.Update -import com.player.musicoo.bean.CurrentPlayingAudio +import relax.offline.music.bean.CurrentPlayingAudio @Dao interface CurrentPlayingAudioDao { diff --git a/app/src/main/java/com/player/musicoo/database/DatabaseManager.kt b/app/src/main/java/relax/offline/music/database/DatabaseManager.kt similarity index 96% rename from app/src/main/java/com/player/musicoo/database/DatabaseManager.kt rename to app/src/main/java/relax/offline/music/database/DatabaseManager.kt index 4daba41..134c040 100644 --- a/app/src/main/java/com/player/musicoo/database/DatabaseManager.kt +++ b/app/src/main/java/relax/offline/music/database/DatabaseManager.kt @@ -1,8 +1,8 @@ -package com.player.musicoo.database +package relax.offline.music.database import android.content.Context import androidx.room.Room -import com.player.musicoo.bean.Audio +import relax.offline.music.bean.Audio import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext diff --git a/app/src/main/java/com/player/musicoo/database/LocalAudioDao.kt b/app/src/main/java/relax/offline/music/database/LocalAudioDao.kt similarity index 91% rename from app/src/main/java/com/player/musicoo/database/LocalAudioDao.kt rename to app/src/main/java/relax/offline/music/database/LocalAudioDao.kt index e113d5e..de08264 100644 --- a/app/src/main/java/com/player/musicoo/database/LocalAudioDao.kt +++ b/app/src/main/java/relax/offline/music/database/LocalAudioDao.kt @@ -1,9 +1,9 @@ -package com.player.musicoo.database +package relax.offline.music.database import androidx.room.* -import com.player.musicoo.bean.Audio +import relax.offline.music.bean.Audio @Dao interface LocalAudioDao { diff --git a/app/src/main/java/com/player/musicoo/database/OfflineDao.kt b/app/src/main/java/relax/offline/music/database/OfflineDao.kt similarity index 91% rename from app/src/main/java/com/player/musicoo/database/OfflineDao.kt rename to app/src/main/java/relax/offline/music/database/OfflineDao.kt index 4aee0b7..444d98a 100644 --- a/app/src/main/java/com/player/musicoo/database/OfflineDao.kt +++ b/app/src/main/java/relax/offline/music/database/OfflineDao.kt @@ -1,7 +1,7 @@ -package com.player.musicoo.database +package relax.offline.music.database import androidx.room.* -import com.player.musicoo.bean.OfflineBean +import relax.offline.music.bean.OfflineBean @Dao interface OfflineDao { diff --git a/app/src/main/java/com/player/musicoo/fragment/HomeFragment.kt b/app/src/main/java/relax/offline/music/fragment/HomeFragment.kt similarity index 61% rename from app/src/main/java/com/player/musicoo/fragment/HomeFragment.kt rename to app/src/main/java/relax/offline/music/fragment/HomeFragment.kt index 6baef2e..4f9f9ee 100644 --- a/app/src/main/java/com/player/musicoo/fragment/HomeFragment.kt +++ b/app/src/main/java/relax/offline/music/fragment/HomeFragment.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.fragment +package relax.offline.music.fragment import android.annotation.SuppressLint import android.os.Bundle @@ -9,14 +9,11 @@ import androidx.fragment.app.Fragment import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import com.gyf.immersionbar.ktx.immersionBar -import com.player.musicoo.App -import com.player.musicoo.R -import com.player.musicoo.adapter.RealHumanVoiceAdapter -import com.player.musicoo.adapter.SoundsOfAppliancesAdapter -import com.player.musicoo.adapter.SoundsOfNatureAdapter -import com.player.musicoo.databinding.FragmentHomeBinding -import com.player.musicoo.util.GridSpacingItemDecoration -import com.player.musicoo.util.HorizontalSpaceItemDecoration +import relax.offline.music.adapter.RealHumanVoiceAdapter +import relax.offline.music.adapter.SoundsOfAppliancesAdapter +import relax.offline.music.adapter.SoundsOfNatureAdapter +import relax.offline.music.databinding.FragmentHomeBinding +import relax.offline.music.util.GridSpacingItemDecoration class HomeFragment : Fragment() { private lateinit var binding: FragmentHomeBinding @@ -45,28 +42,28 @@ class HomeFragment : Fragment() { } private fun initView() { - if (App.resourcesList.categories.isNotEmpty()) { - binding.soundsName.text = App.resourcesList.categories[1].name - binding.natureName.text = App.resourcesList.categories[2].name + if (relax.offline.music.App.resourcesList.categories.isNotEmpty()) { + binding.soundsName.text = relax.offline.music.App.resourcesList.categories[1].name + binding.natureName.text = relax.offline.music.App.resourcesList.categories[2].name } - if (App.realHumanVoiceList.isNotEmpty()) { - realHumanVoiceAdapter = RealHumanVoiceAdapter(requireActivity(), App.realHumanVoiceList) + if (relax.offline.music.App.realHumanVoiceList.isNotEmpty()) { + realHumanVoiceAdapter = RealHumanVoiceAdapter(requireActivity(), relax.offline.music.App.realHumanVoiceList) binding.realRv.layoutManager = GridLayoutManager(requireActivity(), 2, GridLayoutManager.VERTICAL, false) binding.realRv.addItemDecoration(GridSpacingItemDecoration(requireActivity(), 20, 2)) binding.realRv.adapter = realHumanVoiceAdapter } - if (App.soundsOfAppliancesList.isNotEmpty()) { + if (relax.offline.music.App.soundsOfAppliancesList.isNotEmpty()) { soundsOfAppliancesAdapter = - SoundsOfAppliancesAdapter(requireActivity(), App.soundsOfAppliancesList) + SoundsOfAppliancesAdapter(requireActivity(), relax.offline.music.App.soundsOfAppliancesList) binding.soundsRv.layoutManager = GridLayoutManager(requireActivity(), 2, GridLayoutManager.VERTICAL, false) binding.soundsRv.addItemDecoration(GridSpacingItemDecoration(requireActivity(), 20, 2)) binding.soundsRv.adapter = soundsOfAppliancesAdapter } - if (App.soundsOfNatureList.isNotEmpty()) { + if (relax.offline.music.App.soundsOfNatureList.isNotEmpty()) { soundsOfNatureAdapter = - SoundsOfNatureAdapter(requireActivity(), App.soundsOfNatureList) + SoundsOfNatureAdapter(requireActivity(), relax.offline.music.App.soundsOfNatureList) binding.natureRv.layoutManager = LinearLayoutManager(requireActivity(), LinearLayoutManager.VERTICAL, false) binding.natureRv.adapter = soundsOfNatureAdapter @@ -76,26 +73,26 @@ class HomeFragment : Fragment() { @SuppressLint("NotifyDataSetChanged") override fun onResume() { super.onResume() - if (App.currentPlayingAudio != null) { - if (App.realHumanVoiceList.isNotEmpty()) { - for ((index, audio) in App.realHumanVoiceList.withIndex()) { - if (audio.file == App.currentPlayingAudio?.file) { + if (relax.offline.music.App.currentPlayingAudio != null) { + if (relax.offline.music.App.realHumanVoiceList.isNotEmpty()) { + for ((index, audio) in relax.offline.music.App.realHumanVoiceList.withIndex()) { + if (audio.file == relax.offline.music.App.currentPlayingAudio?.file) { notifyDataSetChanged() break } } } - if (App.soundsOfAppliancesList.isNotEmpty()) { - for ((index, audio) in App.soundsOfAppliancesList.withIndex()) { - if (audio.file == App.currentPlayingAudio?.file) { + if (relax.offline.music.App.soundsOfAppliancesList.isNotEmpty()) { + for ((index, audio) in relax.offline.music.App.soundsOfAppliancesList.withIndex()) { + if (audio.file == relax.offline.music.App.currentPlayingAudio?.file) { notifyDataSetChanged() break } } } - if (App.soundsOfNatureList.isNotEmpty()) { - for ((index, audio) in App.soundsOfNatureList.withIndex()) { - if (audio.file == App.currentPlayingAudio?.file) { + if (relax.offline.music.App.soundsOfNatureList.isNotEmpty()) { + for ((index, audio) in relax.offline.music.App.soundsOfNatureList.withIndex()) { + if (audio.file == relax.offline.music.App.currentPlayingAudio?.file) { notifyDataSetChanged() break } diff --git a/app/src/main/java/com/player/musicoo/fragment/ImportFragment.kt b/app/src/main/java/relax/offline/music/fragment/ImportFragment.kt similarity index 89% rename from app/src/main/java/com/player/musicoo/fragment/ImportFragment.kt rename to app/src/main/java/relax/offline/music/fragment/ImportFragment.kt index a134feb..facfbdb 100644 --- a/app/src/main/java/com/player/musicoo/fragment/ImportFragment.kt +++ b/app/src/main/java/relax/offline/music/fragment/ImportFragment.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.fragment +package relax.offline.music.fragment import android.Manifest import android.annotation.SuppressLint @@ -12,23 +12,19 @@ import android.media.MediaPlayer import android.net.Uri import android.os.Bundle import android.provider.MediaStore -import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment import androidx.recyclerview.widget.LinearLayoutManager import com.gyf.immersionbar.ktx.immersionBar -import com.player.musicoo.App -import com.player.musicoo.R -import com.player.musicoo.activity.SettingsActivity -import com.player.musicoo.adapter.ParentsVoiceAdapter -import com.player.musicoo.bean.Audio -import com.player.musicoo.databinding.FragmentImportBinding -import com.player.musicoo.util.uriToFile +import relax.offline.music.R +import relax.offline.music.activity.SettingsActivity +import relax.offline.music.adapter.ParentsVoiceAdapter +import relax.offline.music.bean.Audio +import relax.offline.music.databinding.FragmentImportBinding import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -70,7 +66,7 @@ class ImportFragment : Fragment() { } } importAdapterList.clear() - importAdapterList.addAll(App.importList) + importAdapterList.addAll(relax.offline.music.App.importList) parentsVoiceAdapter = ParentsVoiceAdapter(requireActivity(), importAdapterList) binding.importRv.layoutManager = LinearLayoutManager(requireActivity(), LinearLayoutManager.VERTICAL, false) @@ -116,12 +112,12 @@ class ImportFragment : Fragment() { binding.noContentLayout.visibility = View.VISIBLE } - if (App.currentPlayingAudio != null) { - if (App.importList.isNotEmpty()) { + if (relax.offline.music.App.currentPlayingAudio != null) { + if (relax.offline.music.App.importList.isNotEmpty()) { importAdapterList.clear() - importAdapterList.addAll(App.importList) + importAdapterList.addAll(relax.offline.music.App.importList) for ((index, audio) in importAdapterList.withIndex()) { - if (audio.file == App.currentPlayingAudio?.file) { + if (audio.file == relax.offline.music.App.currentPlayingAudio?.file) { parentsVoiceAdapter?.notifyDataSetChanged() break } @@ -203,12 +199,12 @@ class ImportFragment : Fragment() { CoroutineScope(Dispatchers.IO).launch { if (audio.duration > 0) { - App.databaseManager.insertAudioFile(audio) + relax.offline.music.App.databaseManager.insertAudioFile(audio) } withContext(Dispatchers.Main) { - App.initImportAudio { + relax.offline.music.App.initImportAudio { importAdapterList.clear() - importAdapterList.addAll(App.importList) + importAdapterList.addAll(relax.offline.music.App.importList) parentsVoiceAdapter?.notifyDataSetChanged() if (importAdapterList.isNotEmpty()) { binding.noContentLayout.visibility = View.GONE diff --git a/app/src/main/java/com/player/musicoo/fragment/MoBaseFragment.kt b/app/src/main/java/relax/offline/music/fragment/MoBaseFragment.kt similarity index 90% rename from app/src/main/java/com/player/musicoo/fragment/MoBaseFragment.kt rename to app/src/main/java/relax/offline/music/fragment/MoBaseFragment.kt index f2038d6..136b834 100644 --- a/app/src/main/java/com/player/musicoo/fragment/MoBaseFragment.kt +++ b/app/src/main/java/relax/offline/music/fragment/MoBaseFragment.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.fragment +package relax.offline.music.fragment import android.os.Bundle import android.view.LayoutInflater @@ -6,9 +6,8 @@ import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.viewbinding.ViewBinding -import com.player.musicoo.activity.MoBaseActivity -import com.player.musicoo.sp.AppStore -import com.player.musicoo.util.LogTag +import relax.offline.music.sp.AppStore +import relax.offline.music.util.LogTag import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.MainScope import kotlinx.coroutines.cancel diff --git a/app/src/main/java/com/player/musicoo/fragment/MoHomeFragment.kt b/app/src/main/java/relax/offline/music/fragment/MoHomeFragment.kt similarity index 91% rename from app/src/main/java/com/player/musicoo/fragment/MoHomeFragment.kt rename to app/src/main/java/relax/offline/music/fragment/MoHomeFragment.kt index bc611dd..a110bf3 100644 --- a/app/src/main/java/com/player/musicoo/fragment/MoHomeFragment.kt +++ b/app/src/main/java/relax/offline/music/fragment/MoHomeFragment.kt @@ -1,18 +1,17 @@ -package com.player.musicoo.fragment +package relax.offline.music.fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.core.view.allViews import com.gyf.immersionbar.ktx.immersionBar -import com.player.musicoo.databinding.FragmentMoHomeBinding -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer -import com.player.musicoo.innertube.requests.homePage -import com.player.musicoo.innertube.requests.homePageMore -import com.player.musicoo.util.LogTag.LogD -import com.player.musicoo.view.MusicResponsiveListView -import com.player.musicoo.view.MusicTowRowListView +import relax.offline.music.databinding.FragmentMoHomeBinding +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.MusicCarouselShelfRenderer +import relax.offline.music.innertube.requests.homePage +import relax.offline.music.innertube.requests.homePageMore +import relax.offline.music.util.LogTag.LogD +import relax.offline.music.view.MusicResponsiveListView +import relax.offline.music.view.MusicTowRowListView import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.isActive import kotlinx.coroutines.selects.select diff --git a/app/src/main/java/com/player/musicoo/fragment/MoMeFragment.kt b/app/src/main/java/relax/offline/music/fragment/MoMeFragment.kt similarity index 88% rename from app/src/main/java/com/player/musicoo/fragment/MoMeFragment.kt rename to app/src/main/java/relax/offline/music/fragment/MoMeFragment.kt index 57f18c8..aba6f9d 100644 --- a/app/src/main/java/com/player/musicoo/fragment/MoMeFragment.kt +++ b/app/src/main/java/relax/offline/music/fragment/MoMeFragment.kt @@ -1,15 +1,14 @@ -package com.player.musicoo.fragment +package relax.offline.music.fragment import android.content.Intent import android.view.LayoutInflater import android.view.ViewGroup import android.widget.Toast import com.gyf.immersionbar.ktx.immersionBar -import com.player.musicoo.R -import com.player.musicoo.activity.MoOfflineSongsActivity -import com.player.musicoo.databinding.FragmentMoMeBinding -import com.player.musicoo.innertube.utils.BrotliEncoder.decode -import com.player.musicoo.util.DownloadUtil +import relax.offline.music.R +import relax.offline.music.activity.MoOfflineSongsActivity +import relax.offline.music.databinding.FragmentMoMeBinding +import relax.offline.music.util.DownloadUtil import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.isActive import kotlinx.coroutines.selects.select diff --git a/app/src/main/java/com/player/musicoo/fragment/SearchFragment.kt b/app/src/main/java/relax/offline/music/fragment/SearchFragment.kt similarity index 95% rename from app/src/main/java/com/player/musicoo/fragment/SearchFragment.kt rename to app/src/main/java/relax/offline/music/fragment/SearchFragment.kt index e77cbcb..68d9886 100644 --- a/app/src/main/java/com/player/musicoo/fragment/SearchFragment.kt +++ b/app/src/main/java/relax/offline/music/fragment/SearchFragment.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.fragment +package relax.offline.music.fragment import android.annotation.SuppressLint import android.content.Context @@ -20,17 +20,17 @@ import com.google.android.flexbox.FlexWrap import com.google.android.flexbox.FlexboxLayoutManager import com.google.android.flexbox.JustifyContent import com.gyf.immersionbar.ktx.immersionBar -import com.player.musicoo.adapter.SearchHistoryAdapter -import com.player.musicoo.adapter.SearchSuggestionsAdapter -import com.player.musicoo.databinding.FragmentSearchBinding -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.bodies.SearchBody -import com.player.musicoo.innertube.models.bodies.SearchSuggestionsBody -import com.player.musicoo.innertube.requests.moSearchPage -import com.player.musicoo.innertube.requests.searchSuggestions -import com.player.musicoo.util.LogTag -import com.player.musicoo.view.SearchResultOptimalView -import com.player.musicoo.view.SearchResultOtherView +import relax.offline.music.adapter.SearchHistoryAdapter +import relax.offline.music.adapter.SearchSuggestionsAdapter +import relax.offline.music.databinding.FragmentSearchBinding +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.bodies.SearchBody +import relax.offline.music.innertube.models.bodies.SearchSuggestionsBody +import relax.offline.music.innertube.requests.moSearchPage +import relax.offline.music.innertube.requests.searchSuggestions +import relax.offline.music.util.LogTag +import relax.offline.music.view.SearchResultOptimalView +import relax.offline.music.view.SearchResultOtherView import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.isActive import kotlinx.coroutines.selects.select diff --git a/app/src/main/java/com/player/musicoo/innertube/Innertube.kt b/app/src/main/java/relax/offline/music/innertube/Innertube.kt similarity index 95% rename from app/src/main/java/com/player/musicoo/innertube/Innertube.kt rename to app/src/main/java/relax/offline/music/innertube/Innertube.kt index 4b5e1e5..b4444ac 100644 --- a/app/src/main/java/com/player/musicoo/innertube/Innertube.kt +++ b/app/src/main/java/relax/offline/music/innertube/Innertube.kt @@ -1,12 +1,12 @@ -package com.player.musicoo.innertube +package relax.offline.music.innertube -import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer -import com.player.musicoo.innertube.models.MusicShelfRenderer -import com.player.musicoo.innertube.models.NavigationEndpoint -import com.player.musicoo.innertube.models.Runs -import com.player.musicoo.innertube.models.Thumbnail -import com.player.musicoo.innertube.utils.brotli -import com.player.musicoo.util.LogTag +import relax.offline.music.innertube.models.MusicCarouselShelfRenderer +import relax.offline.music.innertube.models.MusicShelfRenderer +import relax.offline.music.innertube.models.NavigationEndpoint +import relax.offline.music.innertube.models.Runs +import relax.offline.music.innertube.models.Thumbnail +import relax.offline.music.innertube.utils.brotli +import relax.offline.music.util.LogTag import io.ktor.client.HttpClient import io.ktor.client.engine.okhttp.OkHttp import io.ktor.client.plugins.BrowserUserAgent diff --git a/app/src/main/java/com/player/musicoo/innertube/models/BrowseResponse.kt b/app/src/main/java/relax/offline/music/innertube/models/BrowseResponse.kt similarity index 98% rename from app/src/main/java/com/player/musicoo/innertube/models/BrowseResponse.kt rename to app/src/main/java/relax/offline/music/innertube/models/BrowseResponse.kt index 7fbd014..cdc0dc7 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/BrowseResponse.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/BrowseResponse.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/ButtonRenderer.kt b/app/src/main/java/relax/offline/music/innertube/models/ButtonRenderer.kt similarity index 75% rename from app/src/main/java/com/player/musicoo/innertube/models/ButtonRenderer.kt rename to app/src/main/java/relax/offline/music/innertube/models/ButtonRenderer.kt index 6ae0f91..4b40f7d 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/ButtonRenderer.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/ButtonRenderer.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/Context.kt b/app/src/main/java/relax/offline/music/innertube/models/Context.kt similarity index 97% rename from app/src/main/java/com/player/musicoo/innertube/models/Context.kt rename to app/src/main/java/relax/offline/music/innertube/models/Context.kt index 8de5d06..4b7e9d5 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/Context.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/Context.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.Serializable import java.util.Locale diff --git a/app/src/main/java/com/player/musicoo/innertube/models/Continuation.kt b/app/src/main/java/relax/offline/music/innertube/models/Continuation.kt similarity index 91% rename from app/src/main/java/com/player/musicoo/innertube/models/Continuation.kt rename to app/src/main/java/relax/offline/music/innertube/models/Continuation.kt index 9b03e9d..d8b7281 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/Continuation.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/Continuation.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/ContinuationResponse.kt b/app/src/main/java/relax/offline/music/innertube/models/ContinuationResponse.kt similarity index 92% rename from app/src/main/java/com/player/musicoo/innertube/models/ContinuationResponse.kt rename to app/src/main/java/relax/offline/music/innertube/models/ContinuationResponse.kt index 6fb2141..7cd7c13 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/ContinuationResponse.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/ContinuationResponse.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/GetQueueResponse.kt b/app/src/main/java/relax/offline/music/innertube/models/GetQueueResponse.kt similarity index 85% rename from app/src/main/java/com/player/musicoo/innertube/models/GetQueueResponse.kt rename to app/src/main/java/relax/offline/music/innertube/models/GetQueueResponse.kt index e84b3d3..953d431 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/GetQueueResponse.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/GetQueueResponse.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/GridRenderer.kt b/app/src/main/java/relax/offline/music/innertube/models/GridRenderer.kt similarity index 83% rename from app/src/main/java/com/player/musicoo/innertube/models/GridRenderer.kt rename to app/src/main/java/relax/offline/music/innertube/models/GridRenderer.kt index ea769ce..5a6e85e 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/GridRenderer.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/GridRenderer.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/MusicCardShelfRenderer.kt b/app/src/main/java/relax/offline/music/innertube/models/MusicCardShelfRenderer.kt similarity index 85% rename from app/src/main/java/com/player/musicoo/innertube/models/MusicCardShelfRenderer.kt rename to app/src/main/java/relax/offline/music/innertube/models/MusicCardShelfRenderer.kt index e2d4b78..894ac67 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/MusicCardShelfRenderer.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/MusicCardShelfRenderer.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.Serializable @@ -19,7 +19,7 @@ data class MusicCardShelfRenderer( ) { @Serializable data class Thumbnail( - val thumbnails: List? + val thumbnails: List? ) } } diff --git a/app/src/main/java/com/player/musicoo/innertube/models/MusicCarouselShelfRenderer.kt b/app/src/main/java/relax/offline/music/innertube/models/MusicCarouselShelfRenderer.kt similarity index 95% rename from app/src/main/java/com/player/musicoo/innertube/models/MusicCarouselShelfRenderer.kt rename to app/src/main/java/relax/offline/music/innertube/models/MusicCarouselShelfRenderer.kt index 86ef678..9961099 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/MusicCarouselShelfRenderer.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/MusicCarouselShelfRenderer.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/MusicResponsiveListItemRenderer.kt b/app/src/main/java/relax/offline/music/innertube/models/MusicResponsiveListItemRenderer.kt similarity index 94% rename from app/src/main/java/com/player/musicoo/innertube/models/MusicResponsiveListItemRenderer.kt rename to app/src/main/java/relax/offline/music/innertube/models/MusicResponsiveListItemRenderer.kt index 90b964d..94cb6a2 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/MusicResponsiveListItemRenderer.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/MusicResponsiveListItemRenderer.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/MusicShelfRenderer.kt b/app/src/main/java/relax/offline/music/innertube/models/MusicShelfRenderer.kt similarity index 96% rename from app/src/main/java/com/player/musicoo/innertube/models/MusicShelfRenderer.kt rename to app/src/main/java/relax/offline/music/innertube/models/MusicShelfRenderer.kt index ac864ef..da1653b 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/MusicShelfRenderer.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/MusicShelfRenderer.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/MusicTwoRowItemRenderer.kt b/app/src/main/java/relax/offline/music/innertube/models/MusicTwoRowItemRenderer.kt similarity index 84% rename from app/src/main/java/com/player/musicoo/innertube/models/MusicTwoRowItemRenderer.kt rename to app/src/main/java/relax/offline/music/innertube/models/MusicTwoRowItemRenderer.kt index 2d6ea15..2ad50a2 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/MusicTwoRowItemRenderer.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/MusicTwoRowItemRenderer.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/NavigationEndpoint.kt b/app/src/main/java/relax/offline/music/innertube/models/NavigationEndpoint.kt similarity index 99% rename from app/src/main/java/com/player/musicoo/innertube/models/NavigationEndpoint.kt rename to app/src/main/java/relax/offline/music/innertube/models/NavigationEndpoint.kt index 1ef7fbd..21c1094 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/NavigationEndpoint.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/NavigationEndpoint.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/NextResponse.kt b/app/src/main/java/relax/offline/music/innertube/models/NextResponse.kt similarity index 98% rename from app/src/main/java/com/player/musicoo/innertube/models/NextResponse.kt rename to app/src/main/java/relax/offline/music/innertube/models/NextResponse.kt index 70062b2..d95a976 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/NextResponse.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/NextResponse.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/PlayerResponse.kt b/app/src/main/java/relax/offline/music/innertube/models/PlayerResponse.kt similarity index 97% rename from app/src/main/java/com/player/musicoo/innertube/models/PlayerResponse.kt rename to app/src/main/java/relax/offline/music/innertube/models/PlayerResponse.kt index 336e391..35e34ad 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/PlayerResponse.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/PlayerResponse.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/PlaylistPanelVideoRenderer.kt b/app/src/main/java/relax/offline/music/innertube/models/PlaylistPanelVideoRenderer.kt similarity index 88% rename from app/src/main/java/com/player/musicoo/innertube/models/PlaylistPanelVideoRenderer.kt rename to app/src/main/java/relax/offline/music/innertube/models/PlaylistPanelVideoRenderer.kt index b9dcaff..805311d 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/PlaylistPanelVideoRenderer.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/PlaylistPanelVideoRenderer.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/Runs.kt b/app/src/main/java/relax/offline/music/innertube/models/Runs.kt similarity index 94% rename from app/src/main/java/com/player/musicoo/innertube/models/Runs.kt rename to app/src/main/java/relax/offline/music/innertube/models/Runs.kt index 7996287..7408516 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/Runs.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/Runs.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/SearchResponse.kt b/app/src/main/java/relax/offline/music/innertube/models/SearchResponse.kt similarity index 67% rename from app/src/main/java/com/player/musicoo/innertube/models/SearchResponse.kt rename to app/src/main/java/relax/offline/music/innertube/models/SearchResponse.kt index e650209..8dc3ec2 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/SearchResponse.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/SearchResponse.kt @@ -1,6 +1,5 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models -import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable @Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/SearchSuggestionsResponse.kt b/app/src/main/java/relax/offline/music/innertube/models/SearchSuggestionsResponse.kt similarity index 94% rename from app/src/main/java/com/player/musicoo/innertube/models/SearchSuggestionsResponse.kt rename to app/src/main/java/relax/offline/music/innertube/models/SearchSuggestionsResponse.kt index 9ceff22..05b1460 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/SearchSuggestionsResponse.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/SearchSuggestionsResponse.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/SectionListContinuation.kt b/app/src/main/java/relax/offline/music/innertube/models/SectionListContinuation.kt similarity index 94% rename from app/src/main/java/com/player/musicoo/innertube/models/SectionListContinuation.kt rename to app/src/main/java/relax/offline/music/innertube/models/SectionListContinuation.kt index f463a0b..c9585c7 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/SectionListContinuation.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/SectionListContinuation.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/SectionListRenderer.kt b/app/src/main/java/relax/offline/music/innertube/models/SectionListRenderer.kt similarity index 95% rename from app/src/main/java/com/player/musicoo/innertube/models/SectionListRenderer.kt rename to app/src/main/java/relax/offline/music/innertube/models/SectionListRenderer.kt index 0cc95b0..8045b9e 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/SectionListRenderer.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/SectionListRenderer.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/Tabs.kt b/app/src/main/java/relax/offline/music/innertube/models/Tabs.kt similarity index 91% rename from app/src/main/java/com/player/musicoo/innertube/models/Tabs.kt rename to app/src/main/java/relax/offline/music/innertube/models/Tabs.kt index 0d98941..ba600ee 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/Tabs.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/Tabs.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/Thumbnail.kt b/app/src/main/java/relax/offline/music/innertube/models/Thumbnail.kt similarity index 91% rename from app/src/main/java/com/player/musicoo/innertube/models/Thumbnail.kt rename to app/src/main/java/relax/offline/music/innertube/models/Thumbnail.kt index e39b936..bf7dc80 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/Thumbnail.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/Thumbnail.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/ThumbnailRenderer.kt b/app/src/main/java/relax/offline/music/innertube/models/ThumbnailRenderer.kt similarity index 80% rename from app/src/main/java/com/player/musicoo/innertube/models/ThumbnailRenderer.kt rename to app/src/main/java/relax/offline/music/innertube/models/ThumbnailRenderer.kt index 73f2f1d..b66f47b 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/ThumbnailRenderer.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/ThumbnailRenderer.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.models +package relax.offline.music.innertube.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable @@ -16,7 +16,7 @@ data class ThumbnailRenderer( ) { @Serializable data class Thumbnail( - val thumbnails: List? + val thumbnails: List? ) } } diff --git a/app/src/main/java/com/player/musicoo/innertube/models/bodies/BrowseBody.kt b/app/src/main/java/relax/offline/music/innertube/models/bodies/BrowseBody.kt similarity index 64% rename from app/src/main/java/com/player/musicoo/innertube/models/bodies/BrowseBody.kt rename to app/src/main/java/relax/offline/music/innertube/models/bodies/BrowseBody.kt index 09e5760..4605406 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/bodies/BrowseBody.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/bodies/BrowseBody.kt @@ -1,6 +1,6 @@ -package com.player.musicoo.innertube.models.bodies +package relax.offline.music.innertube.models.bodies -import com.player.musicoo.innertube.models.Context +import relax.offline.music.innertube.models.Context import kotlinx.serialization.Serializable @Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/bodies/BrowseMoreBody.kt b/app/src/main/java/relax/offline/music/innertube/models/bodies/BrowseMoreBody.kt similarity index 56% rename from app/src/main/java/com/player/musicoo/innertube/models/bodies/BrowseMoreBody.kt rename to app/src/main/java/relax/offline/music/innertube/models/bodies/BrowseMoreBody.kt index 7f67e9d..d610c0f 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/bodies/BrowseMoreBody.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/bodies/BrowseMoreBody.kt @@ -1,6 +1,6 @@ -package com.player.musicoo.innertube.models.bodies +package relax.offline.music.innertube.models.bodies -import com.player.musicoo.innertube.models.Context +import relax.offline.music.innertube.models.Context import kotlinx.serialization.Serializable @Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/bodies/ContinuationBody.kt b/app/src/main/java/relax/offline/music/innertube/models/bodies/ContinuationBody.kt similarity index 61% rename from app/src/main/java/com/player/musicoo/innertube/models/bodies/ContinuationBody.kt rename to app/src/main/java/relax/offline/music/innertube/models/bodies/ContinuationBody.kt index 8350ccd..28e5c52 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/bodies/ContinuationBody.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/bodies/ContinuationBody.kt @@ -1,6 +1,6 @@ -package com.player.musicoo.innertube.models.bodies +package relax.offline.music.innertube.models.bodies -import com.player.musicoo.innertube.models.Context +import relax.offline.music.innertube.models.Context import kotlinx.serialization.Serializable @Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/bodies/NextBody.kt b/app/src/main/java/relax/offline/music/innertube/models/bodies/NextBody.kt similarity index 86% rename from app/src/main/java/com/player/musicoo/innertube/models/bodies/NextBody.kt rename to app/src/main/java/relax/offline/music/innertube/models/bodies/NextBody.kt index 14d490a..10630a7 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/bodies/NextBody.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/bodies/NextBody.kt @@ -1,6 +1,6 @@ -package com.player.musicoo.innertube.models.bodies +package relax.offline.music.innertube.models.bodies -import com.player.musicoo.innertube.models.Context +import relax.offline.music.innertube.models.Context import kotlinx.serialization.Serializable @Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/bodies/PlayerBody.kt b/app/src/main/java/relax/offline/music/innertube/models/bodies/PlayerBody.kt similarity index 65% rename from app/src/main/java/com/player/musicoo/innertube/models/bodies/PlayerBody.kt rename to app/src/main/java/relax/offline/music/innertube/models/bodies/PlayerBody.kt index 4b1ab33..b290af5 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/bodies/PlayerBody.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/bodies/PlayerBody.kt @@ -1,6 +1,6 @@ -package com.player.musicoo.innertube.models.bodies +package relax.offline.music.innertube.models.bodies -import com.player.musicoo.innertube.models.Context +import relax.offline.music.innertube.models.Context import kotlinx.serialization.Serializable @Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/bodies/QueueBody.kt b/app/src/main/java/relax/offline/music/innertube/models/bodies/QueueBody.kt similarity index 66% rename from app/src/main/java/com/player/musicoo/innertube/models/bodies/QueueBody.kt rename to app/src/main/java/relax/offline/music/innertube/models/bodies/QueueBody.kt index a04b24a..c620132 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/bodies/QueueBody.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/bodies/QueueBody.kt @@ -1,6 +1,6 @@ -package com.player.musicoo.innertube.models.bodies +package relax.offline.music.innertube.models.bodies -import com.player.musicoo.innertube.models.Context +import relax.offline.music.innertube.models.Context import kotlinx.serialization.Serializable @Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/bodies/SearchBody.kt b/app/src/main/java/relax/offline/music/innertube/models/bodies/SearchBody.kt similarity index 63% rename from app/src/main/java/com/player/musicoo/innertube/models/bodies/SearchBody.kt rename to app/src/main/java/relax/offline/music/innertube/models/bodies/SearchBody.kt index d9f1588..fe9a9a2 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/bodies/SearchBody.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/bodies/SearchBody.kt @@ -1,6 +1,6 @@ -package com.player.musicoo.innertube.models.bodies +package relax.offline.music.innertube.models.bodies -import com.player.musicoo.innertube.models.Context +import relax.offline.music.innertube.models.Context import kotlinx.serialization.Serializable @Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/models/bodies/SearchSuggestionsBody.kt b/app/src/main/java/relax/offline/music/innertube/models/bodies/SearchSuggestionsBody.kt similarity index 61% rename from app/src/main/java/com/player/musicoo/innertube/models/bodies/SearchSuggestionsBody.kt rename to app/src/main/java/relax/offline/music/innertube/models/bodies/SearchSuggestionsBody.kt index 9868ca5..b2aee71 100644 --- a/app/src/main/java/com/player/musicoo/innertube/models/bodies/SearchSuggestionsBody.kt +++ b/app/src/main/java/relax/offline/music/innertube/models/bodies/SearchSuggestionsBody.kt @@ -1,6 +1,6 @@ -package com.player.musicoo.innertube.models.bodies +package relax.offline.music.innertube.models.bodies -import com.player.musicoo.innertube.models.Context +import relax.offline.music.innertube.models.Context import kotlinx.serialization.Serializable @Serializable diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/AlbumPage.kt b/app/src/main/java/relax/offline/music/innertube/requests/AlbumPage.kt similarity index 83% rename from app/src/main/java/com/player/musicoo/innertube/requests/AlbumPage.kt rename to app/src/main/java/relax/offline/music/innertube/requests/AlbumPage.kt index 0b72749..b89ca94 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/AlbumPage.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/AlbumPage.kt @@ -1,9 +1,9 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests import io.ktor.http.Url -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.NavigationEndpoint -import com.player.musicoo.innertube.models.bodies.BrowseBody +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.NavigationEndpoint +import relax.offline.music.innertube.models.bodies.BrowseBody suspend fun Innertube.albumPage(body: BrowseBody): Result? { return playlistPage(body)?.map { album -> diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/ArtistPage.kt b/app/src/main/java/relax/offline/music/innertube/requests/ArtistPage.kt similarity index 85% rename from app/src/main/java/com/player/musicoo/innertube/requests/ArtistPage.kt rename to app/src/main/java/relax/offline/music/innertube/requests/ArtistPage.kt index 5e678a0..ef390a1 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/ArtistPage.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/ArtistPage.kt @@ -1,17 +1,17 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.BrowseResponse -import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer -import com.player.musicoo.innertube.models.MusicShelfRenderer -import com.player.musicoo.innertube.models.SectionListRenderer -import com.player.musicoo.innertube.models.bodies.BrowseBody -import com.player.musicoo.innertube.utils.findSectionByTitle -import com.player.musicoo.innertube.utils.from -import com.player.musicoo.innertube.utils.runCatchingNonCancellable +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.BrowseResponse +import relax.offline.music.innertube.models.MusicCarouselShelfRenderer +import relax.offline.music.innertube.models.MusicShelfRenderer +import relax.offline.music.innertube.models.SectionListRenderer +import relax.offline.music.innertube.models.bodies.BrowseBody +import relax.offline.music.innertube.utils.findSectionByTitle +import relax.offline.music.innertube.utils.from +import relax.offline.music.innertube.utils.runCatchingNonCancellable suspend fun Innertube.artistPage(body: BrowseBody): Result? = runCatchingNonCancellable { diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/HomePage.kt b/app/src/main/java/relax/offline/music/innertube/requests/HomePage.kt similarity index 83% rename from app/src/main/java/com/player/musicoo/innertube/requests/HomePage.kt rename to app/src/main/java/relax/offline/music/innertube/requests/HomePage.kt index 28e453f..f786cfb 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/HomePage.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/HomePage.kt @@ -1,14 +1,12 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests -import com.player.musicoo.App -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.BrowseResponse -import com.player.musicoo.innertube.models.Context -import com.player.musicoo.innertube.models.SectionListRenderer -import com.player.musicoo.innertube.models.bodies.BrowseBody -import com.player.musicoo.innertube.utils.runCatchingNonCancellable -import com.player.musicoo.sp.AppStore -import com.player.musicoo.util.LogTag +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.BrowseResponse +import relax.offline.music.innertube.models.Context +import relax.offline.music.innertube.models.SectionListRenderer +import relax.offline.music.innertube.models.bodies.BrowseBody +import relax.offline.music.innertube.utils.runCatchingNonCancellable +import relax.offline.music.util.LogTag import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/HomePageMore.kt b/app/src/main/java/relax/offline/music/innertube/requests/HomePageMore.kt similarity index 83% rename from app/src/main/java/com/player/musicoo/innertube/requests/HomePageMore.kt rename to app/src/main/java/relax/offline/music/innertube/requests/HomePageMore.kt index 98e5c26..13d2b56 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/HomePageMore.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/HomePageMore.kt @@ -1,13 +1,11 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests -import com.player.musicoo.App -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.BrowseResponse -import com.player.musicoo.innertube.models.Context -import com.player.musicoo.innertube.models.SectionListContinuation -import com.player.musicoo.innertube.models.bodies.BrowseMoreBody -import com.player.musicoo.innertube.utils.runCatchingNonCancellable -import com.player.musicoo.sp.AppStore +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.BrowseResponse +import relax.offline.music.innertube.models.Context +import relax.offline.music.innertube.models.SectionListContinuation +import relax.offline.music.innertube.models.bodies.BrowseMoreBody +import relax.offline.music.innertube.utils.runCatchingNonCancellable import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/ItemsPage.kt b/app/src/main/java/relax/offline/music/innertube/requests/ItemsPage.kt similarity index 83% rename from app/src/main/java/com/player/musicoo/innertube/requests/ItemsPage.kt rename to app/src/main/java/relax/offline/music/innertube/requests/ItemsPage.kt index 6a0973c..72fd634 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/ItemsPage.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/ItemsPage.kt @@ -1,18 +1,18 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.BrowseResponse -import com.player.musicoo.innertube.models.ContinuationResponse -import com.player.musicoo.innertube.models.GridRenderer -import com.player.musicoo.innertube.models.MusicResponsiveListItemRenderer -import com.player.musicoo.innertube.models.MusicShelfRenderer -import com.player.musicoo.innertube.models.MusicTwoRowItemRenderer -import com.player.musicoo.innertube.models.bodies.BrowseBody -import com.player.musicoo.innertube.models.bodies.ContinuationBody -import com.player.musicoo.innertube.utils.runCatchingNonCancellable +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.BrowseResponse +import relax.offline.music.innertube.models.ContinuationResponse +import relax.offline.music.innertube.models.GridRenderer +import relax.offline.music.innertube.models.MusicResponsiveListItemRenderer +import relax.offline.music.innertube.models.MusicShelfRenderer +import relax.offline.music.innertube.models.MusicTwoRowItemRenderer +import relax.offline.music.innertube.models.bodies.BrowseBody +import relax.offline.music.innertube.models.bodies.ContinuationBody +import relax.offline.music.innertube.utils.runCatchingNonCancellable suspend fun Innertube.itemsPage( body: BrowseBody, diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/Lyrics.kt b/app/src/main/java/relax/offline/music/innertube/requests/Lyrics.kt similarity index 74% rename from app/src/main/java/com/player/musicoo/innertube/requests/Lyrics.kt rename to app/src/main/java/relax/offline/music/innertube/requests/Lyrics.kt index 8c7f036..4509390 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/Lyrics.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/Lyrics.kt @@ -1,14 +1,14 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.BrowseResponse -import com.player.musicoo.innertube.models.NextResponse -import com.player.musicoo.innertube.models.bodies.BrowseBody -import com.player.musicoo.innertube.models.bodies.NextBody -import com.player.musicoo.innertube.utils.runCatchingNonCancellable +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.BrowseResponse +import relax.offline.music.innertube.models.NextResponse +import relax.offline.music.innertube.models.bodies.BrowseBody +import relax.offline.music.innertube.models.bodies.NextBody +import relax.offline.music.innertube.utils.runCatchingNonCancellable suspend fun Innertube.lyrics(body: NextBody): Result? = runCatchingNonCancellable { val nextResponse = client.post(next) { diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/MoNextPage.kt b/app/src/main/java/relax/offline/music/innertube/requests/MoNextPage.kt similarity index 74% rename from app/src/main/java/com/player/musicoo/innertube/requests/MoNextPage.kt rename to app/src/main/java/relax/offline/music/innertube/requests/MoNextPage.kt index 3187ea3..98ef879 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/MoNextPage.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/MoNextPage.kt @@ -1,15 +1,12 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.ContinuationResponse -import com.player.musicoo.innertube.models.NextResponse -import com.player.musicoo.innertube.models.bodies.ContinuationBody -import com.player.musicoo.innertube.models.bodies.NextBody -import com.player.musicoo.innertube.utils.from -import com.player.musicoo.innertube.utils.runCatchingNonCancellable +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.NextResponse +import relax.offline.music.innertube.models.bodies.NextBody +import relax.offline.music.innertube.utils.runCatchingNonCancellable suspend fun Innertube.moNextPage( diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/MoPlaylistPage.kt b/app/src/main/java/relax/offline/music/innertube/requests/MoPlaylistPage.kt similarity index 91% rename from app/src/main/java/com/player/musicoo/innertube/requests/MoPlaylistPage.kt rename to app/src/main/java/relax/offline/music/innertube/requests/MoPlaylistPage.kt index c1ab6cf..1766834 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/MoPlaylistPage.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/MoPlaylistPage.kt @@ -1,13 +1,10 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests -import com.player.musicoo.App -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.BrowseResponse -import com.player.musicoo.innertube.models.MusicShelfRenderer -import com.player.musicoo.innertube.models.bodies.BrowseBody -import com.player.musicoo.innertube.utils.runCatchingNonCancellable -import com.player.musicoo.sp.AppStore -import com.player.musicoo.util.LogTag +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.BrowseResponse +import relax.offline.music.innertube.models.MusicShelfRenderer +import relax.offline.music.innertube.models.bodies.BrowseBody +import relax.offline.music.innertube.utils.runCatchingNonCancellable import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/MoSearchPage.kt b/app/src/main/java/relax/offline/music/innertube/requests/MoSearchPage.kt similarity index 94% rename from app/src/main/java/com/player/musicoo/innertube/requests/MoSearchPage.kt rename to app/src/main/java/relax/offline/music/innertube/requests/MoSearchPage.kt index 530e1ad..9399063 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/MoSearchPage.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/MoSearchPage.kt @@ -1,16 +1,13 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.BrowseResponse -import com.player.musicoo.innertube.models.ContinuationResponse -import com.player.musicoo.innertube.models.MusicShelfRenderer -import com.player.musicoo.innertube.models.SearchResponse -import com.player.musicoo.innertube.models.SectionListRenderer -import com.player.musicoo.innertube.models.bodies.BrowseBody -import com.player.musicoo.innertube.models.bodies.ContinuationBody -import com.player.musicoo.innertube.models.bodies.SearchBody -import com.player.musicoo.innertube.utils.runCatchingNonCancellable -import com.player.musicoo.util.LogTag +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.ContinuationResponse +import relax.offline.music.innertube.models.MusicShelfRenderer +import relax.offline.music.innertube.models.SearchResponse +import relax.offline.music.innertube.models.SectionListRenderer +import relax.offline.music.innertube.models.bodies.ContinuationBody +import relax.offline.music.innertube.models.bodies.SearchBody +import relax.offline.music.innertube.utils.runCatchingNonCancellable import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/MoSingerlistPage.kt b/app/src/main/java/relax/offline/music/innertube/requests/MoSingerlistPage.kt similarity index 93% rename from app/src/main/java/com/player/musicoo/innertube/requests/MoSingerlistPage.kt rename to app/src/main/java/relax/offline/music/innertube/requests/MoSingerlistPage.kt index f5319c6..a29916a 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/MoSingerlistPage.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/MoSingerlistPage.kt @@ -1,18 +1,15 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests -import com.player.musicoo.App -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.BrowseResponse -import com.player.musicoo.innertube.models.ContinuationResponse -import com.player.musicoo.innertube.models.GridRenderer -import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer -import com.player.musicoo.innertube.models.MusicShelfRenderer -import com.player.musicoo.innertube.models.SectionListRenderer -import com.player.musicoo.innertube.models.bodies.BrowseBody -import com.player.musicoo.innertube.models.bodies.ContinuationBody -import com.player.musicoo.innertube.utils.runCatchingNonCancellable -import com.player.musicoo.sp.AppStore -import com.player.musicoo.util.LogTag +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.BrowseResponse +import relax.offline.music.innertube.models.ContinuationResponse +import relax.offline.music.innertube.models.GridRenderer +import relax.offline.music.innertube.models.MusicCarouselShelfRenderer +import relax.offline.music.innertube.models.MusicShelfRenderer +import relax.offline.music.innertube.models.SectionListRenderer +import relax.offline.music.innertube.models.bodies.BrowseBody +import relax.offline.music.innertube.models.bodies.ContinuationBody +import relax.offline.music.innertube.utils.runCatchingNonCancellable import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/NextPage.kt b/app/src/main/java/relax/offline/music/innertube/requests/NextPage.kt similarity index 85% rename from app/src/main/java/com/player/musicoo/innertube/requests/NextPage.kt rename to app/src/main/java/relax/offline/music/innertube/requests/NextPage.kt index 0ee99ba..eba519e 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/NextPage.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/NextPage.kt @@ -1,15 +1,15 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.ContinuationResponse -import com.player.musicoo.innertube.models.NextResponse -import com.player.musicoo.innertube.models.bodies.ContinuationBody -import com.player.musicoo.innertube.models.bodies.NextBody -import com.player.musicoo.innertube.utils.from -import com.player.musicoo.innertube.utils.runCatchingNonCancellable +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.ContinuationResponse +import relax.offline.music.innertube.models.NextResponse +import relax.offline.music.innertube.models.bodies.ContinuationBody +import relax.offline.music.innertube.models.bodies.NextBody +import relax.offline.music.innertube.utils.from +import relax.offline.music.innertube.utils.runCatchingNonCancellable diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/Player.kt b/app/src/main/java/relax/offline/music/innertube/requests/Player.kt similarity index 86% rename from app/src/main/java/com/player/musicoo/innertube/requests/Player.kt rename to app/src/main/java/relax/offline/music/innertube/requests/Player.kt index 5d7f153..07bc0ac 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/Player.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/Player.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.get @@ -6,11 +6,11 @@ import io.ktor.client.request.post import io.ktor.client.request.setBody import io.ktor.http.ContentType import io.ktor.http.contentType -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.Context -import com.player.musicoo.innertube.models.PlayerResponse -import com.player.musicoo.innertube.models.bodies.PlayerBody -import com.player.musicoo.innertube.utils.runCatchingNonCancellable +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.Context +import relax.offline.music.innertube.models.PlayerResponse +import relax.offline.music.innertube.models.bodies.PlayerBody +import relax.offline.music.innertube.utils.runCatchingNonCancellable import kotlinx.serialization.Serializable suspend fun Innertube.player(body: PlayerBody) = runCatchingNonCancellable { diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/PlaylistPage.kt b/app/src/main/java/relax/offline/music/innertube/requests/PlaylistPage.kt similarity index 83% rename from app/src/main/java/com/player/musicoo/innertube/requests/PlaylistPage.kt rename to app/src/main/java/relax/offline/music/innertube/requests/PlaylistPage.kt index bd8c699..ed44ee8 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/PlaylistPage.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/PlaylistPage.kt @@ -1,17 +1,17 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.BrowseResponse -import com.player.musicoo.innertube.models.ContinuationResponse -import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer -import com.player.musicoo.innertube.models.MusicShelfRenderer -import com.player.musicoo.innertube.models.bodies.BrowseBody -import com.player.musicoo.innertube.models.bodies.ContinuationBody -import com.player.musicoo.innertube.utils.from -import com.player.musicoo.innertube.utils.runCatchingNonCancellable +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.BrowseResponse +import relax.offline.music.innertube.models.ContinuationResponse +import relax.offline.music.innertube.models.MusicCarouselShelfRenderer +import relax.offline.music.innertube.models.MusicShelfRenderer +import relax.offline.music.innertube.models.bodies.BrowseBody +import relax.offline.music.innertube.models.bodies.ContinuationBody +import relax.offline.music.innertube.utils.from +import relax.offline.music.innertube.utils.runCatchingNonCancellable suspend fun Innertube.playlistPage(body: BrowseBody) = runCatchingNonCancellable { val response = client.post(browse) { diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/Queue.kt b/app/src/main/java/relax/offline/music/innertube/requests/Queue.kt similarity index 68% rename from app/src/main/java/com/player/musicoo/innertube/requests/Queue.kt rename to app/src/main/java/relax/offline/music/innertube/requests/Queue.kt index 470cb28..badd14a 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/Queue.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/Queue.kt @@ -1,13 +1,13 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.GetQueueResponse -import com.player.musicoo.innertube.models.bodies.QueueBody -import com.player.musicoo.innertube.utils.from -import com.player.musicoo.innertube.utils.runCatchingNonCancellable +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.GetQueueResponse +import relax.offline.music.innertube.models.bodies.QueueBody +import relax.offline.music.innertube.utils.from +import relax.offline.music.innertube.utils.runCatchingNonCancellable suspend fun Innertube.queue(body: QueueBody) = runCatchingNonCancellable { val response = client.post(queue) { diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/RelatedPage.kt b/app/src/main/java/relax/offline/music/innertube/requests/RelatedPage.kt similarity index 79% rename from app/src/main/java/com/player/musicoo/innertube/requests/RelatedPage.kt rename to app/src/main/java/relax/offline/music/innertube/requests/RelatedPage.kt index 6273a38..e0a11ae 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/RelatedPage.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/RelatedPage.kt @@ -1,18 +1,18 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.BrowseResponse -import com.player.musicoo.innertube.models.MusicCarouselShelfRenderer -import com.player.musicoo.innertube.models.NextResponse -import com.player.musicoo.innertube.models.bodies.BrowseBody -import com.player.musicoo.innertube.models.bodies.NextBody -import com.player.musicoo.innertube.utils.findSectionByStrapline -import com.player.musicoo.innertube.utils.findSectionByTitle -import com.player.musicoo.innertube.utils.from -import com.player.musicoo.innertube.utils.runCatchingNonCancellable +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.BrowseResponse +import relax.offline.music.innertube.models.MusicCarouselShelfRenderer +import relax.offline.music.innertube.models.NextResponse +import relax.offline.music.innertube.models.bodies.BrowseBody +import relax.offline.music.innertube.models.bodies.NextBody +import relax.offline.music.innertube.utils.findSectionByStrapline +import relax.offline.music.innertube.utils.findSectionByTitle +import relax.offline.music.innertube.utils.from +import relax.offline.music.innertube.utils.runCatchingNonCancellable suspend fun Innertube.relatedPage(body: NextBody) = runCatchingNonCancellable { val nextResponse = client.post(next) { diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/SearchPage.kt b/app/src/main/java/relax/offline/music/innertube/requests/SearchPage.kt similarity index 78% rename from app/src/main/java/com/player/musicoo/innertube/requests/SearchPage.kt rename to app/src/main/java/relax/offline/music/innertube/requests/SearchPage.kt index 3498983..53e94ea 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/SearchPage.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/SearchPage.kt @@ -1,15 +1,15 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.ContinuationResponse -import com.player.musicoo.innertube.models.MusicShelfRenderer -import com.player.musicoo.innertube.models.SearchResponse -import com.player.musicoo.innertube.models.bodies.ContinuationBody -import com.player.musicoo.innertube.models.bodies.SearchBody -import com.player.musicoo.innertube.utils.runCatchingNonCancellable +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.ContinuationResponse +import relax.offline.music.innertube.models.MusicShelfRenderer +import relax.offline.music.innertube.models.SearchResponse +import relax.offline.music.innertube.models.bodies.ContinuationBody +import relax.offline.music.innertube.models.bodies.SearchBody +import relax.offline.music.innertube.utils.runCatchingNonCancellable suspend fun Innertube.searchPage( body: SearchBody, diff --git a/app/src/main/java/com/player/musicoo/innertube/requests/SearchSuggestions.kt b/app/src/main/java/relax/offline/music/innertube/requests/SearchSuggestions.kt similarity index 71% rename from app/src/main/java/com/player/musicoo/innertube/requests/SearchSuggestions.kt rename to app/src/main/java/relax/offline/music/innertube/requests/SearchSuggestions.kt index 79ce129..6271983 100644 --- a/app/src/main/java/com/player/musicoo/innertube/requests/SearchSuggestions.kt +++ b/app/src/main/java/relax/offline/music/innertube/requests/SearchSuggestions.kt @@ -1,12 +1,12 @@ -package com.player.musicoo.innertube.requests +package relax.offline.music.innertube.requests import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.SearchSuggestionsResponse -import com.player.musicoo.innertube.models.bodies.SearchSuggestionsBody -import com.player.musicoo.innertube.utils.runCatchingNonCancellable +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.SearchSuggestionsResponse +import relax.offline.music.innertube.models.bodies.SearchSuggestionsBody +import relax.offline.music.innertube.utils.runCatchingNonCancellable suspend fun Innertube.searchSuggestions(body: SearchSuggestionsBody) = runCatchingNonCancellable { val response = client.post(searchSuggestions) { diff --git a/app/src/main/java/com/player/musicoo/innertube/utils/BrotliEncoder.kt b/app/src/main/java/relax/offline/music/innertube/utils/BrotliEncoder.kt similarity index 93% rename from app/src/main/java/com/player/musicoo/innertube/utils/BrotliEncoder.kt rename to app/src/main/java/relax/offline/music/innertube/utils/BrotliEncoder.kt index ce217a7..c1a4cb2 100644 --- a/app/src/main/java/com/player/musicoo/innertube/utils/BrotliEncoder.kt +++ b/app/src/main/java/relax/offline/music/innertube/utils/BrotliEncoder.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.utils +package relax.offline.music.innertube.utils import io.ktor.client.plugins.compression.ContentEncoder import io.ktor.utils.io.ByteReadChannel diff --git a/app/src/main/java/com/player/musicoo/innertube/utils/FromMusicResponsiveListItemRenderer.kt b/app/src/main/java/relax/offline/music/innertube/utils/FromMusicResponsiveListItemRenderer.kt similarity index 85% rename from app/src/main/java/com/player/musicoo/innertube/utils/FromMusicResponsiveListItemRenderer.kt rename to app/src/main/java/relax/offline/music/innertube/utils/FromMusicResponsiveListItemRenderer.kt index 743d6a0..30a5ba2 100644 --- a/app/src/main/java/com/player/musicoo/innertube/utils/FromMusicResponsiveListItemRenderer.kt +++ b/app/src/main/java/relax/offline/music/innertube/utils/FromMusicResponsiveListItemRenderer.kt @@ -1,9 +1,9 @@ -package com.player.musicoo.innertube.utils +package relax.offline.music.innertube.utils -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.MusicResponsiveListItemRenderer -import com.player.musicoo.innertube.models.NavigationEndpoint -import com.player.musicoo.innertube.models.Runs +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.MusicResponsiveListItemRenderer +import relax.offline.music.innertube.models.NavigationEndpoint +import relax.offline.music.innertube.models.Runs fun Innertube.SongItem.Companion.from(renderer: MusicResponsiveListItemRenderer): Innertube.SongItem? { return Innertube.SongItem( diff --git a/app/src/main/java/com/player/musicoo/innertube/utils/FromMusicShelfRendererContent.kt b/app/src/main/java/relax/offline/music/innertube/utils/FromMusicShelfRendererContent.kt similarity index 95% rename from app/src/main/java/com/player/musicoo/innertube/utils/FromMusicShelfRendererContent.kt rename to app/src/main/java/relax/offline/music/innertube/utils/FromMusicShelfRendererContent.kt index 0b74b0d..b3e31dc 100644 --- a/app/src/main/java/com/player/musicoo/innertube/utils/FromMusicShelfRendererContent.kt +++ b/app/src/main/java/relax/offline/music/innertube/utils/FromMusicShelfRendererContent.kt @@ -1,8 +1,8 @@ -package com.player.musicoo.innertube.utils +package relax.offline.music.innertube.utils -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.MusicShelfRenderer -import com.player.musicoo.innertube.models.NavigationEndpoint +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.MusicShelfRenderer +import relax.offline.music.innertube.models.NavigationEndpoint fun Innertube.SongItem.Companion.from(content: MusicShelfRenderer.Content): Innertube.SongItem? { val (mainRuns, otherRuns) = content.runs diff --git a/app/src/main/java/com/player/musicoo/innertube/utils/FromMusicTwoRowItemRenderer.kt b/app/src/main/java/relax/offline/music/innertube/utils/FromMusicTwoRowItemRenderer.kt similarity index 92% rename from app/src/main/java/com/player/musicoo/innertube/utils/FromMusicTwoRowItemRenderer.kt rename to app/src/main/java/relax/offline/music/innertube/utils/FromMusicTwoRowItemRenderer.kt index 0e1cf77..26dfedf 100644 --- a/app/src/main/java/com/player/musicoo/innertube/utils/FromMusicTwoRowItemRenderer.kt +++ b/app/src/main/java/relax/offline/music/innertube/utils/FromMusicTwoRowItemRenderer.kt @@ -1,7 +1,7 @@ -package com.player.musicoo.innertube.utils +package relax.offline.music.innertube.utils -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.MusicTwoRowItemRenderer +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.MusicTwoRowItemRenderer fun Innertube.AlbumItem.Companion.from(renderer: MusicTwoRowItemRenderer): Innertube.AlbumItem? { return Innertube.AlbumItem( diff --git a/app/src/main/java/com/player/musicoo/innertube/utils/FromPlaylistPanelVideoRenderer.kt b/app/src/main/java/relax/offline/music/innertube/utils/FromPlaylistPanelVideoRenderer.kt similarity index 87% rename from app/src/main/java/com/player/musicoo/innertube/utils/FromPlaylistPanelVideoRenderer.kt rename to app/src/main/java/relax/offline/music/innertube/utils/FromPlaylistPanelVideoRenderer.kt index c8016f6..11724a1 100644 --- a/app/src/main/java/com/player/musicoo/innertube/utils/FromPlaylistPanelVideoRenderer.kt +++ b/app/src/main/java/relax/offline/music/innertube/utils/FromPlaylistPanelVideoRenderer.kt @@ -1,7 +1,7 @@ -package com.player.musicoo.innertube.utils +package relax.offline.music.innertube.utils -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.PlaylistPanelVideoRenderer +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.PlaylistPanelVideoRenderer fun Innertube.SongItem.Companion.from(renderer: PlaylistPanelVideoRenderer): Innertube.SongItem? { return Innertube.SongItem( diff --git a/app/src/main/java/com/player/musicoo/innertube/utils/Utils.kt b/app/src/main/java/relax/offline/music/innertube/utils/Utils.kt similarity index 89% rename from app/src/main/java/com/player/musicoo/innertube/utils/Utils.kt rename to app/src/main/java/relax/offline/music/innertube/utils/Utils.kt index 7ce5fc7..8f7c9c0 100644 --- a/app/src/main/java/com/player/musicoo/innertube/utils/Utils.kt +++ b/app/src/main/java/relax/offline/music/innertube/utils/Utils.kt @@ -1,8 +1,8 @@ -package com.player.musicoo.innertube.utils +package relax.offline.music.innertube.utils import io.ktor.utils.io.CancellationException -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.SectionListRenderer +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.SectionListRenderer internal fun SectionListRenderer.findSectionByTitle(text: String): SectionListRenderer.Content? { return contents?.find { content -> diff --git a/app/src/main/java/com/player/musicoo/innertube/utils/brotli.kt b/app/src/main/java/relax/offline/music/innertube/utils/brotli.kt similarity index 78% rename from app/src/main/java/com/player/musicoo/innertube/utils/brotli.kt rename to app/src/main/java/relax/offline/music/innertube/utils/brotli.kt index 14d8212..a8b5d76 100644 --- a/app/src/main/java/com/player/musicoo/innertube/utils/brotli.kt +++ b/app/src/main/java/relax/offline/music/innertube/utils/brotli.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.innertube.utils +package relax.offline.music.innertube.utils import io.ktor.client.plugins.compression.ContentEncoding diff --git a/app/src/main/java/com/player/musicoo/media/DefaultMediaNotificationProvider.kt b/app/src/main/java/relax/offline/music/media/DefaultMediaNotificationProvider.kt similarity index 87% rename from app/src/main/java/com/player/musicoo/media/DefaultMediaNotificationProvider.kt rename to app/src/main/java/relax/offline/music/media/DefaultMediaNotificationProvider.kt index bfb7a52..890bf46 100644 --- a/app/src/main/java/com/player/musicoo/media/DefaultMediaNotificationProvider.kt +++ b/app/src/main/java/relax/offline/music/media/DefaultMediaNotificationProvider.kt @@ -1,21 +1,20 @@ -package com.player.musicoo.media +package relax.offline.music.media import android.content.Context import android.os.Bundle import android.widget.RemoteViews import androidx.core.app.NotificationCompat -import androidx.media3.common.Player import androidx.media3.common.util.UnstableApi import androidx.media3.session.CommandButton import androidx.media3.session.MediaNotification import androidx.media3.session.MediaSession import com.google.common.collect.ImmutableList -import com.player.musicoo.R +import relax.offline.music.R @UnstableApi class MyMediaNotificationProvider(val context: Context) : MediaNotification.Provider { companion object { - private const val CHANNEL_ID = "musicoo_notification_channel" + private const val CHANNEL_ID = "musiclax_notification_channel" private const val NOTIFICATION_ID = 1231 } @@ -32,7 +31,7 @@ class MyMediaNotificationProvider(val context: Context) : MediaNotification.Prov val notification = NotificationCompat.Builder(context, CHANNEL_ID) .setContentTitle("Custom Notification Title") .setContentText("Custom Notification Text") - .setSmallIcon(R.mipmap.musicoo_logo_img) + .setSmallIcon(R.mipmap.app_logo) .setCustomContentView(customLayoutView) .build() diff --git a/app/src/main/java/com/player/musicoo/media/LocalMediaControllerManager.kt b/app/src/main/java/relax/offline/music/media/LocalMediaControllerManager.kt similarity index 87% rename from app/src/main/java/com/player/musicoo/media/LocalMediaControllerManager.kt rename to app/src/main/java/relax/offline/music/media/LocalMediaControllerManager.kt index 6c1b89f..3fe88b9 100644 --- a/app/src/main/java/com/player/musicoo/media/LocalMediaControllerManager.kt +++ b/app/src/main/java/relax/offline/music/media/LocalMediaControllerManager.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.media +package relax.offline.music.media import android.content.ComponentName import android.content.Context @@ -11,12 +11,11 @@ import androidx.media3.session.MediaController import androidx.media3.session.SessionToken import com.google.common.util.concurrent.ListenableFuture import com.google.common.util.concurrent.MoreExecutors -import com.player.musicoo.App -import com.player.musicoo.R -import com.player.musicoo.bean.Audio -import com.player.musicoo.bean.CurrentPlayingAudio -import com.player.musicoo.service.LocalPlaybackService -import com.player.musicoo.util.containsContent +import relax.offline.music.R +import relax.offline.music.bean.Audio +import relax.offline.music.bean.CurrentPlayingAudio +import relax.offline.music.service.LocalPlaybackService +import relax.offline.music.util.containsContent import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -55,7 +54,7 @@ object LocalMediaControllerManager { } - val resourceId = R.mipmap.musicoo_logo_img + val resourceId = R.mipmap.app_logo val imgUri: Uri? = if (audio.image.isNotEmpty()) { Uri.parse("file:///android_asset/${audio.image}") } else { @@ -90,9 +89,9 @@ object LocalMediaControllerManager { false ) CoroutineScope(Dispatchers.IO).launch { - App.currentAudioManager.setCurrentPlayingAudio(currentPlayingAudio) + relax.offline.music.App.currentAudioManager.setCurrentPlayingAudio(currentPlayingAudio) withContext(Dispatchers.Main) { - App.initCurrentPlayingAudio()//更新到入口变量中 + relax.offline.music.App.initCurrentPlayingAudio()//更新到入口变量中 } } } @@ -111,7 +110,7 @@ object LocalMediaControllerManager { } - val resourceId = R.mipmap.musicoo_logo_img + val resourceId = R.mipmap.app_logo val imgUri: Uri? = if (audio.image.isNotEmpty()) { Uri.parse("file:///android_asset/${audio.image}") } else { @@ -149,9 +148,9 @@ object LocalMediaControllerManager { false ) CoroutineScope(Dispatchers.IO).launch { - App.currentAudioManager.setCurrentPlayingAudio(currentPlayingAudio) + relax.offline.music.App.currentAudioManager.setCurrentPlayingAudio(currentPlayingAudio) withContext(Dispatchers.Main) { - App.initCurrentPlayingAudio()//更新到入口变量中 + relax.offline.music.App.initCurrentPlayingAudio()//更新到入口变量中 } } diff --git a/app/src/main/java/com/player/musicoo/media/MediaControllerManager.kt b/app/src/main/java/relax/offline/music/media/MediaControllerManager.kt similarity index 75% rename from app/src/main/java/com/player/musicoo/media/MediaControllerManager.kt rename to app/src/main/java/relax/offline/music/media/MediaControllerManager.kt index 417004f..3fe0c21 100644 --- a/app/src/main/java/com/player/musicoo/media/MediaControllerManager.kt +++ b/app/src/main/java/relax/offline/music/media/MediaControllerManager.kt @@ -1,27 +1,13 @@ -package com.player.musicoo.media +package relax.offline.music.media import android.content.ComponentName import android.content.Context -import android.net.Uri -import android.os.Binder -import androidx.media3.common.MediaItem -import androidx.media3.common.MediaMetadata -import androidx.media3.common.Player import androidx.media3.common.util.UnstableApi import androidx.media3.session.MediaController import androidx.media3.session.SessionToken import com.google.common.util.concurrent.ListenableFuture import com.google.common.util.concurrent.MoreExecutors -import com.player.musicoo.App -import com.player.musicoo.R -import com.player.musicoo.bean.Audio -import com.player.musicoo.bean.CurrentPlayingAudio -import com.player.musicoo.service.PlaybackService -import com.player.musicoo.util.containsContent -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext +import relax.offline.music.service.PlaybackService @UnstableApi object MediaControllerManager { diff --git a/app/src/main/java/com/player/musicoo/media/MediaControllerUtils.kt b/app/src/main/java/relax/offline/music/media/MediaControllerUtils.kt similarity index 85% rename from app/src/main/java/com/player/musicoo/media/MediaControllerUtils.kt rename to app/src/main/java/relax/offline/music/media/MediaControllerUtils.kt index f072b24..a0c9db1 100644 --- a/app/src/main/java/com/player/musicoo/media/MediaControllerUtils.kt +++ b/app/src/main/java/relax/offline/music/media/MediaControllerUtils.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.media +package relax.offline.music.media import androidx.media3.common.MediaItem import androidx.media3.session.MediaController diff --git a/app/src/main/java/com/player/musicoo/media/SongRadio.kt b/app/src/main/java/relax/offline/music/media/SongRadio.kt similarity index 85% rename from app/src/main/java/com/player/musicoo/media/SongRadio.kt rename to app/src/main/java/relax/offline/music/media/SongRadio.kt index 9465462..16d921d 100644 --- a/app/src/main/java/com/player/musicoo/media/SongRadio.kt +++ b/app/src/main/java/relax/offline/music/media/SongRadio.kt @@ -1,9 +1,9 @@ -package com.player.musicoo.media +package relax.offline.music.media -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.bodies.ContinuationBody -import com.player.musicoo.innertube.models.bodies.NextBody -import com.player.musicoo.innertube.requests.nextPage +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.bodies.ContinuationBody +import relax.offline.music.innertube.models.bodies.NextBody +import relax.offline.music.innertube.requests.nextPage import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext diff --git a/app/src/main/java/com/player/musicoo/service/CustomMediaNotificationProvider.kt b/app/src/main/java/relax/offline/music/service/CustomMediaNotificationProvider.kt similarity index 92% rename from app/src/main/java/com/player/musicoo/service/CustomMediaNotificationProvider.kt rename to app/src/main/java/relax/offline/music/service/CustomMediaNotificationProvider.kt index acc956d..49df5f3 100644 --- a/app/src/main/java/com/player/musicoo/service/CustomMediaNotificationProvider.kt +++ b/app/src/main/java/relax/offline/music/service/CustomMediaNotificationProvider.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.service +package relax.offline.music.service import android.content.Context import androidx.core.app.NotificationCompat @@ -8,8 +8,8 @@ import androidx.media3.session.DefaultMediaNotificationProvider import androidx.media3.session.MediaNotification import androidx.media3.session.MediaSession import com.google.common.collect.ImmutableList -import com.player.musicoo.util.LogTag -import com.player.musicoo.util.LogTag.LogD +import relax.offline.music.util.LogTag +import relax.offline.music.util.LogTag.LogD @UnstableApi class CustomMediaNotificationProvider(context: Context) : diff --git a/app/src/main/java/com/player/musicoo/service/LocalPlaybackService.kt b/app/src/main/java/relax/offline/music/service/LocalPlaybackService.kt similarity index 93% rename from app/src/main/java/com/player/musicoo/service/LocalPlaybackService.kt rename to app/src/main/java/relax/offline/music/service/LocalPlaybackService.kt index c359dc9..ea70849 100644 --- a/app/src/main/java/com/player/musicoo/service/LocalPlaybackService.kt +++ b/app/src/main/java/relax/offline/music/service/LocalPlaybackService.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.service +package relax.offline.music.service import android.content.Intent import androidx.media3.common.Player @@ -6,7 +6,7 @@ import androidx.media3.common.util.UnstableApi import androidx.media3.exoplayer.ExoPlayer import androidx.media3.session.MediaSession import androidx.media3.session.MediaSessionService -import com.player.musicoo.R +import relax.offline.music.R @UnstableApi diff --git a/app/src/main/java/com/player/musicoo/service/MyDownloadService.kt b/app/src/main/java/relax/offline/music/service/MyDownloadService.kt similarity index 84% rename from app/src/main/java/com/player/musicoo/service/MyDownloadService.kt rename to app/src/main/java/relax/offline/music/service/MyDownloadService.kt index 0b746f9..eb00759 100644 --- a/app/src/main/java/com/player/musicoo/service/MyDownloadService.kt +++ b/app/src/main/java/relax/offline/music/service/MyDownloadService.kt @@ -1,10 +1,8 @@ -package com.player.musicoo.service +package relax.offline.music.service import android.annotation.SuppressLint import android.app.Notification -import android.content.Context import androidx.annotation.OptIn -import androidx.media3.common.util.NotificationUtil import androidx.media3.common.util.UnstableApi import androidx.media3.common.util.Util import androidx.media3.exoplayer.offline.Download @@ -12,13 +10,8 @@ import androidx.media3.exoplayer.offline.DownloadManager import androidx.media3.exoplayer.offline.DownloadNotificationHelper import androidx.media3.exoplayer.offline.DownloadService import androidx.media3.exoplayer.scheduler.PlatformScheduler -import com.player.musicoo.App -import com.player.musicoo.R -import com.player.musicoo.bean.OfflineBean -import com.player.musicoo.util.DownloadUtil -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch +import relax.offline.music.R +import relax.offline.music.util.DownloadUtil @OptIn(UnstableApi::class) diff --git a/app/src/main/java/com/player/musicoo/service/NotificationCustomButton.kt b/app/src/main/java/relax/offline/music/service/NotificationCustomButton.kt similarity index 94% rename from app/src/main/java/com/player/musicoo/service/NotificationCustomButton.kt rename to app/src/main/java/relax/offline/music/service/NotificationCustomButton.kt index 2be702d..2f29ca7 100644 --- a/app/src/main/java/com/player/musicoo/service/NotificationCustomButton.kt +++ b/app/src/main/java/relax/offline/music/service/NotificationCustomButton.kt @@ -1,9 +1,9 @@ -package com.player.musicoo.service +package relax.offline.music.service import android.os.Bundle import androidx.media3.session.CommandButton import androidx.media3.session.SessionCommand -import com.player.musicoo.R +import relax.offline.music.R private const val CUSTOM_COMMAND_SKIP_BACK_ACTION_ID = "Skip_back" private const val CUSTOM_COMMAND_SKIP_FORWARD_ACTION_ID = "Skip_Forward" diff --git a/app/src/main/java/com/player/musicoo/service/PlaybackExceptions.kt b/app/src/main/java/relax/offline/music/service/PlaybackExceptions.kt similarity index 94% rename from app/src/main/java/com/player/musicoo/service/PlaybackExceptions.kt rename to app/src/main/java/relax/offline/music/service/PlaybackExceptions.kt index 007a69e..2630023 100644 --- a/app/src/main/java/com/player/musicoo/service/PlaybackExceptions.kt +++ b/app/src/main/java/relax/offline/music/service/PlaybackExceptions.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.service +package relax.offline.music.service import androidx.annotation.OptIn import androidx.media3.common.PlaybackException diff --git a/app/src/main/java/com/player/musicoo/service/PlaybackService.kt b/app/src/main/java/relax/offline/music/service/PlaybackService.kt similarity index 93% rename from app/src/main/java/com/player/musicoo/service/PlaybackService.kt rename to app/src/main/java/relax/offline/music/service/PlaybackService.kt index b1437fb..9f15552 100644 --- a/app/src/main/java/com/player/musicoo/service/PlaybackService.kt +++ b/app/src/main/java/relax/offline/music/service/PlaybackService.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.service +package relax.offline.music.service import android.content.Intent import android.net.Uri @@ -13,7 +13,6 @@ import androidx.media3.datasource.DataSource import androidx.media3.datasource.DefaultHttpDataSource import androidx.media3.datasource.ResolvingDataSource import androidx.media3.datasource.cache.CacheDataSource -import androidx.media3.datasource.cache.SimpleCache import androidx.media3.exoplayer.ExoPlayer import androidx.media3.exoplayer.RenderersFactory import androidx.media3.exoplayer.audio.AudioRendererEventListener @@ -30,19 +29,18 @@ import androidx.media3.extractor.mp4.FragmentedMp4Extractor import androidx.media3.session.DefaultMediaNotificationProvider import androidx.media3.session.MediaSession import androidx.media3.session.MediaSessionService -import com.player.musicoo.R -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.bodies.PlayerBody -import com.player.musicoo.innertube.requests.player -import com.player.musicoo.sp.AppStore -import com.player.musicoo.util.CacheManager -import com.player.musicoo.util.DownloadUtil -import com.player.musicoo.util.LogTag -import com.player.musicoo.util.LogTag.LogD -import com.player.musicoo.util.PlayMode -import com.player.musicoo.util.RingBuffer +import relax.offline.music.R +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.bodies.PlayerBody +import relax.offline.music.innertube.requests.player +import relax.offline.music.sp.AppStore +import relax.offline.music.util.CacheManager +import relax.offline.music.util.LogTag +import relax.offline.music.util.LogTag.LogD +import relax.offline.music.util.PlayMode import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.runBlocking +import relax.offline.music.util.RingBuffer @UnstableApi @@ -97,10 +95,10 @@ class PlaybackService : MediaSessionService(), Player.Listener { // val customMediaNotificationProvider = CustomMediaNotificationProvider(this).apply { -// setSmallIcon(R.mipmap.musicoo_logo_img) +// setSmallIcon(R.mipmap.app_logo_img) // } setMediaNotificationProvider(DefaultMediaNotificationProvider(this).apply { - setSmallIcon(R.mipmap.musicoo_logo_img) + setSmallIcon(R.mipmap.app_logo) }) } diff --git a/app/src/main/java/com/player/musicoo/service/ViewModelMain.kt b/app/src/main/java/relax/offline/music/service/ViewModelMain.kt similarity index 86% rename from app/src/main/java/com/player/musicoo/service/ViewModelMain.kt rename to app/src/main/java/relax/offline/music/service/ViewModelMain.kt index 4d1ad74..dce373c 100644 --- a/app/src/main/java/com/player/musicoo/service/ViewModelMain.kt +++ b/app/src/main/java/relax/offline/music/service/ViewModelMain.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.service +package relax.offline.music.service import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel diff --git a/app/src/main/java/com/player/musicoo/sp/AppStore.kt b/app/src/main/java/relax/offline/music/sp/AppStore.kt similarity index 83% rename from app/src/main/java/com/player/musicoo/sp/AppStore.kt rename to app/src/main/java/relax/offline/music/sp/AppStore.kt index 65a5de2..d4c8292 100644 --- a/app/src/main/java/com/player/musicoo/sp/AppStore.kt +++ b/app/src/main/java/relax/offline/music/sp/AppStore.kt @@ -1,9 +1,9 @@ -package com.player.musicoo.sp +package relax.offline.music.sp import android.content.Context -import com.player.musicoo.sp.store.Store -import com.player.musicoo.sp.store.asStoreProvider -import com.player.musicoo.util.PlayMode +import relax.offline.music.sp.store.Store +import relax.offline.music.sp.store.asStoreProvider +import relax.offline.music.util.PlayMode class AppStore(context: Context) { private val store = Store( diff --git a/app/src/main/java/com/player/musicoo/sp/SharedPreferencesHelper.kt b/app/src/main/java/relax/offline/music/sp/SharedPreferencesHelper.kt similarity index 98% rename from app/src/main/java/com/player/musicoo/sp/SharedPreferencesHelper.kt rename to app/src/main/java/relax/offline/music/sp/SharedPreferencesHelper.kt index 0025458..0821250 100644 --- a/app/src/main/java/com/player/musicoo/sp/SharedPreferencesHelper.kt +++ b/app/src/main/java/relax/offline/music/sp/SharedPreferencesHelper.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.sp +package relax.offline.music.sp import android.content.Context import android.content.SharedPreferences diff --git a/app/src/main/java/com/player/musicoo/sp/store/Providers.kt b/app/src/main/java/relax/offline/music/sp/store/Providers.kt similarity index 97% rename from app/src/main/java/com/player/musicoo/sp/store/Providers.kt rename to app/src/main/java/relax/offline/music/sp/store/Providers.kt index 9749ecc..99424e4 100644 --- a/app/src/main/java/com/player/musicoo/sp/store/Providers.kt +++ b/app/src/main/java/relax/offline/music/sp/store/Providers.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.sp.store +package relax.offline.music.sp.store import android.content.SharedPreferences import androidx.core.content.edit diff --git a/app/src/main/java/com/player/musicoo/sp/store/Store.kt b/app/src/main/java/relax/offline/music/sp/store/Store.kt similarity index 98% rename from app/src/main/java/com/player/musicoo/sp/store/Store.kt rename to app/src/main/java/relax/offline/music/sp/store/Store.kt index 6fe63a1..c9a88fa 100644 --- a/app/src/main/java/com/player/musicoo/sp/store/Store.kt +++ b/app/src/main/java/relax/offline/music/sp/store/Store.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.sp.store +package relax.offline.music.sp.store import kotlin.reflect.KProperty diff --git a/app/src/main/java/com/player/musicoo/sp/store/StoreProvider.kt b/app/src/main/java/relax/offline/music/sp/store/StoreProvider.kt similarity index 93% rename from app/src/main/java/com/player/musicoo/sp/store/StoreProvider.kt rename to app/src/main/java/relax/offline/music/sp/store/StoreProvider.kt index d33c2b4..821c588 100644 --- a/app/src/main/java/com/player/musicoo/sp/store/StoreProvider.kt +++ b/app/src/main/java/relax/offline/music/sp/store/StoreProvider.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.sp.store +package relax.offline.music.sp.store interface StoreProvider { fun getInt(key: String, defaultValue: Int): Int diff --git a/app/src/main/java/com/player/musicoo/util/AudioPlayer.kt b/app/src/main/java/relax/offline/music/util/AudioPlayer.kt similarity index 98% rename from app/src/main/java/com/player/musicoo/util/AudioPlayer.kt rename to app/src/main/java/relax/offline/music/util/AudioPlayer.kt index 63bd948..60fb0c5 100644 --- a/app/src/main/java/com/player/musicoo/util/AudioPlayer.kt +++ b/app/src/main/java/relax/offline/music/util/AudioPlayer.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.util +package relax.offline.music.util import android.content.Context import android.media.AudioAttributes diff --git a/app/src/main/java/com/player/musicoo/util/CacheManager.kt b/app/src/main/java/relax/offline/music/util/CacheManager.kt similarity index 98% rename from app/src/main/java/com/player/musicoo/util/CacheManager.kt rename to app/src/main/java/relax/offline/music/util/CacheManager.kt index f902695..93ad5c3 100644 --- a/app/src/main/java/com/player/musicoo/util/CacheManager.kt +++ b/app/src/main/java/relax/offline/music/util/CacheManager.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.util +package relax.offline.music.util import android.content.Context import androidx.annotation.OptIn diff --git a/app/src/main/java/com/player/musicoo/util/ConvertUtil.kt b/app/src/main/java/relax/offline/music/util/ConvertUtil.kt similarity index 94% rename from app/src/main/java/com/player/musicoo/util/ConvertUtil.kt rename to app/src/main/java/relax/offline/music/util/ConvertUtil.kt index 3a8ff41..1acd114 100644 --- a/app/src/main/java/com/player/musicoo/util/ConvertUtil.kt +++ b/app/src/main/java/relax/offline/music/util/ConvertUtil.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.util +package relax.offline.music.util import android.content.Context import android.content.pm.PackageManager diff --git a/app/src/main/java/com/player/musicoo/util/DownloadUtil.kt b/app/src/main/java/relax/offline/music/util/DownloadUtil.kt similarity index 88% rename from app/src/main/java/com/player/musicoo/util/DownloadUtil.kt rename to app/src/main/java/relax/offline/music/util/DownloadUtil.kt index 419d16c..7b309c0 100644 --- a/app/src/main/java/com/player/musicoo/util/DownloadUtil.kt +++ b/app/src/main/java/relax/offline/music/util/DownloadUtil.kt @@ -1,12 +1,10 @@ -package com.player.musicoo.util +package relax.offline.music.util import android.app.Notification import android.content.Context import android.net.Uri -import android.util.Log import androidx.annotation.OptIn import androidx.core.net.toUri -import androidx.lifecycle.MutableLiveData import androidx.media3.common.PlaybackException import androidx.media3.common.util.NotificationUtil import androidx.media3.common.util.UnstableApi @@ -17,38 +15,26 @@ import androidx.media3.datasource.DataSource import androidx.media3.datasource.DefaultDataSource import androidx.media3.datasource.DefaultHttpDataSource import androidx.media3.datasource.ResolvingDataSource -import androidx.media3.datasource.cache.Cache import androidx.media3.datasource.cache.CacheDataSource -import androidx.media3.datasource.cache.CacheEvictor -import androidx.media3.datasource.cache.LeastRecentlyUsedCacheEvictor -import androidx.media3.datasource.cache.NoOpCacheEvictor -import androidx.media3.datasource.cache.SimpleCache import androidx.media3.datasource.cronet.CronetDataSource import androidx.media3.datasource.cronet.CronetUtil import androidx.media3.exoplayer.offline.Download import androidx.media3.exoplayer.offline.DownloadManager import androidx.media3.exoplayer.offline.DownloadNotificationHelper -import com.player.musicoo.App -import com.player.musicoo.R -import com.player.musicoo.bean.OfflineBean -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.Innertube.TAG -import com.player.musicoo.innertube.models.bodies.PlayerBody -import com.player.musicoo.innertube.requests.player -import com.player.musicoo.media.MediaControllerManager -import com.player.musicoo.service.LoginRequiredException -import com.player.musicoo.service.PlayableFormatNotFoundException -import com.player.musicoo.service.UnplayableException -import com.player.musicoo.service.VideoIdMismatchException -import com.player.musicoo.service.ViewModelMain +import relax.offline.music.R +import relax.offline.music.bean.OfflineBean +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.Innertube.TAG +import relax.offline.music.innertube.models.bodies.PlayerBody +import relax.offline.music.innertube.requests.player +import relax.offline.music.media.MediaControllerManager +import relax.offline.music.service.LoginRequiredException +import relax.offline.music.service.PlayableFormatNotFoundException +import relax.offline.music.service.UnplayableException +import relax.offline.music.service.VideoIdMismatchException +import relax.offline.music.service.ViewModelMain import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.MutableSharedFlow -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.asSharedFlow -import kotlinx.coroutines.flow.map -import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import java.net.CookieHandler @@ -301,7 +287,7 @@ object DownloadUtil { isOffline = true ) LogTag.LogD(TAG, "insertOfflineBean bean->${bean}") - App.appOfflineDBManager.insertOfflineBean(bean) + relax.offline.music.App.appOfflineDBManager.insertOfflineBean(bean) } } } diff --git a/app/src/main/java/com/player/musicoo/util/ExoPlayerDiskCacheMaxSize.kt b/app/src/main/java/relax/offline/music/util/ExoPlayerDiskCacheMaxSize.kt similarity index 92% rename from app/src/main/java/com/player/musicoo/util/ExoPlayerDiskCacheMaxSize.kt rename to app/src/main/java/relax/offline/music/util/ExoPlayerDiskCacheMaxSize.kt index 40e4546..40c8138 100644 --- a/app/src/main/java/com/player/musicoo/util/ExoPlayerDiskCacheMaxSize.kt +++ b/app/src/main/java/relax/offline/music/util/ExoPlayerDiskCacheMaxSize.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.util +package relax.offline.music.util enum class ExoPlayerDiskCacheMaxSize { `32MB`, diff --git a/app/src/main/java/com/player/musicoo/util/FileSizeConverter.kt b/app/src/main/java/relax/offline/music/util/FileSizeConverter.kt similarity index 97% rename from app/src/main/java/com/player/musicoo/util/FileSizeConverter.kt rename to app/src/main/java/relax/offline/music/util/FileSizeConverter.kt index cd3dea4..13f7456 100644 --- a/app/src/main/java/com/player/musicoo/util/FileSizeConverter.kt +++ b/app/src/main/java/relax/offline/music/util/FileSizeConverter.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.util +package relax.offline.music.util class FileSizeConverter(private val sizeInBytes: Long) { diff --git a/app/src/main/java/com/player/musicoo/util/GridSpacingItemDecoration.kt b/app/src/main/java/relax/offline/music/util/GridSpacingItemDecoration.kt similarity index 96% rename from app/src/main/java/com/player/musicoo/util/GridSpacingItemDecoration.kt rename to app/src/main/java/relax/offline/music/util/GridSpacingItemDecoration.kt index bff81c2..2b8e753 100644 --- a/app/src/main/java/com/player/musicoo/util/GridSpacingItemDecoration.kt +++ b/app/src/main/java/relax/offline/music/util/GridSpacingItemDecoration.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.util +package relax.offline.music.util import android.content.Context import android.graphics.Rect diff --git a/app/src/main/java/com/player/musicoo/util/HorizontalSpaceItemDecoration.kt b/app/src/main/java/relax/offline/music/util/HorizontalSpaceItemDecoration.kt similarity index 96% rename from app/src/main/java/com/player/musicoo/util/HorizontalSpaceItemDecoration.kt rename to app/src/main/java/relax/offline/music/util/HorizontalSpaceItemDecoration.kt index e5e85d3..1ef0b42 100644 --- a/app/src/main/java/com/player/musicoo/util/HorizontalSpaceItemDecoration.kt +++ b/app/src/main/java/relax/offline/music/util/HorizontalSpaceItemDecoration.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.util +package relax.offline.music.util import android.content.Context import android.graphics.Rect diff --git a/app/src/main/java/com/player/musicoo/util/LogTag.kt b/app/src/main/java/relax/offline/music/util/LogTag.kt similarity index 93% rename from app/src/main/java/com/player/musicoo/util/LogTag.kt rename to app/src/main/java/relax/offline/music/util/LogTag.kt index 60e83c9..ec7da78 100644 --- a/app/src/main/java/com/player/musicoo/util/LogTag.kt +++ b/app/src/main/java/relax/offline/music/util/LogTag.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.util +package relax.offline.music.util import android.util.Log diff --git a/app/src/main/java/com/player/musicoo/util/OpenUrlUtil.kt b/app/src/main/java/relax/offline/music/util/OpenUrlUtil.kt similarity index 96% rename from app/src/main/java/com/player/musicoo/util/OpenUrlUtil.kt rename to app/src/main/java/relax/offline/music/util/OpenUrlUtil.kt index efc9e12..cc12dd7 100644 --- a/app/src/main/java/com/player/musicoo/util/OpenUrlUtil.kt +++ b/app/src/main/java/relax/offline/music/util/OpenUrlUtil.kt @@ -1,10 +1,9 @@ -package com.player.musicoo.util +package relax.offline.music.util import android.content.Context import android.content.Intent import android.net.Uri import android.widget.Toast -import com.player.musicoo.R const val PRIVACY_POLICY_URL = "https://sites.google.com/view/musiclax-privacy/home" const val TERMS_OF_SERVICE_URL = "https://sites.google.com/view/musiclax-terms/home" diff --git a/app/src/main/java/com/player/musicoo/util/PlayMode.kt b/app/src/main/java/relax/offline/music/util/PlayMode.kt similarity index 88% rename from app/src/main/java/com/player/musicoo/util/PlayMode.kt rename to app/src/main/java/relax/offline/music/util/PlayMode.kt index e211d1f..4115bfd 100644 --- a/app/src/main/java/com/player/musicoo/util/PlayMode.kt +++ b/app/src/main/java/relax/offline/music/util/PlayMode.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.util +package relax.offline.music.util enum class PlayMode(val value: Int) { LIST_LOOP(0), // 列表循环 diff --git a/app/src/main/java/com/player/musicoo/util/ResourcesMusicUtil.kt b/app/src/main/java/relax/offline/music/util/ResourcesMusicUtil.kt similarity index 92% rename from app/src/main/java/com/player/musicoo/util/ResourcesMusicUtil.kt rename to app/src/main/java/relax/offline/music/util/ResourcesMusicUtil.kt index 0056744..a9644c8 100644 --- a/app/src/main/java/com/player/musicoo/util/ResourcesMusicUtil.kt +++ b/app/src/main/java/relax/offline/music/util/ResourcesMusicUtil.kt @@ -1,15 +1,13 @@ -package com.player.musicoo.util +package relax.offline.music.util -import android.content.ContentResolver import android.content.Context import android.database.Cursor import android.media.MediaMetadataRetriever -import android.media.MediaPlayer import android.net.Uri import android.provider.MediaStore -import com.player.musicoo.bean.Audio -import com.player.musicoo.bean.Category -import com.player.musicoo.bean.ResourcesList +import relax.offline.music.bean.Audio +import relax.offline.music.bean.Category +import relax.offline.music.bean.ResourcesList import org.json.JSONObject import java.io.File import java.io.InputStream diff --git a/app/src/main/java/com/player/musicoo/util/RingBuffer.kt b/app/src/main/java/relax/offline/music/util/RingBuffer.kt similarity index 88% rename from app/src/main/java/com/player/musicoo/util/RingBuffer.kt rename to app/src/main/java/relax/offline/music/util/RingBuffer.kt index 63cea4d..2b48b25 100644 --- a/app/src/main/java/com/player/musicoo/util/RingBuffer.kt +++ b/app/src/main/java/relax/offline/music/util/RingBuffer.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.util +package relax.offline.music.util class RingBuffer(val size: Int, init: (index: Int) -> T) { private val list = MutableList(size, init) diff --git a/app/src/main/java/com/player/musicoo/util/Utils.kt b/app/src/main/java/relax/offline/music/util/Utils.kt similarity index 91% rename from app/src/main/java/com/player/musicoo/util/Utils.kt rename to app/src/main/java/relax/offline/music/util/Utils.kt index f5041b7..744300b 100644 --- a/app/src/main/java/com/player/musicoo/util/Utils.kt +++ b/app/src/main/java/relax/offline/music/util/Utils.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.util +package relax.offline.music.util import android.net.Uri import android.os.Build @@ -8,10 +8,10 @@ import androidx.core.os.bundleOf import androidx.media3.common.MediaItem import androidx.media3.common.MediaMetadata import androidx.media3.common.util.UnstableApi -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.innertube.models.bodies.ContinuationBody -import com.player.musicoo.innertube.requests.playlistPage -import com.player.musicoo.innertube.utils.plus +import relax.offline.music.innertube.Innertube +import relax.offline.music.innertube.models.bodies.ContinuationBody +import relax.offline.music.innertube.requests.playlistPage +import relax.offline.music.innertube.utils.plus val Innertube.SongItem.asMediaItem: MediaItem @UnstableApi diff --git a/app/src/main/java/com/player/musicoo/view/BlurLayout.kt b/app/src/main/java/relax/offline/music/view/BlurLayout.kt similarity index 99% rename from app/src/main/java/com/player/musicoo/view/BlurLayout.kt rename to app/src/main/java/relax/offline/music/view/BlurLayout.kt index 9be1371..43f5fc7 100644 --- a/app/src/main/java/com/player/musicoo/view/BlurLayout.kt +++ b/app/src/main/java/relax/offline/music/view/BlurLayout.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.view +package relax.offline.music.view import android.content.Context import android.graphics.* diff --git a/app/src/main/java/com/player/musicoo/view/CircularProgressBar.kt b/app/src/main/java/relax/offline/music/view/CircularProgressBar.kt similarity index 98% rename from app/src/main/java/com/player/musicoo/view/CircularProgressBar.kt rename to app/src/main/java/relax/offline/music/view/CircularProgressBar.kt index da1d0f0..3a92a41 100644 --- a/app/src/main/java/com/player/musicoo/view/CircularProgressBar.kt +++ b/app/src/main/java/relax/offline/music/view/CircularProgressBar.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.view +package relax.offline.music.view import android.content.Context import android.graphics.Canvas diff --git a/app/src/main/java/com/player/musicoo/view/CustomProgressBar.kt b/app/src/main/java/relax/offline/music/view/CustomProgressBar.kt similarity index 98% rename from app/src/main/java/com/player/musicoo/view/CustomProgressBar.kt rename to app/src/main/java/relax/offline/music/view/CustomProgressBar.kt index f35f6dd..74978aa 100644 --- a/app/src/main/java/com/player/musicoo/view/CustomProgressBar.kt +++ b/app/src/main/java/relax/offline/music/view/CustomProgressBar.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.view +package relax.offline.music.view import android.content.Context import android.graphics.Canvas diff --git a/app/src/main/java/com/player/musicoo/view/MarqueeTextView.java b/app/src/main/java/relax/offline/music/view/MarqueeTextView.java similarity index 96% rename from app/src/main/java/com/player/musicoo/view/MarqueeTextView.java rename to app/src/main/java/relax/offline/music/view/MarqueeTextView.java index 2fd471f..69ecc09 100644 --- a/app/src/main/java/com/player/musicoo/view/MarqueeTextView.java +++ b/app/src/main/java/relax/offline/music/view/MarqueeTextView.java @@ -1,4 +1,4 @@ -package com.player.musicoo.view; +package relax.offline.music.view; import android.content.Context; import android.text.TextUtils; diff --git a/app/src/main/java/com/player/musicoo/view/ModuleView.kt b/app/src/main/java/relax/offline/music/view/ModuleView.kt similarity index 93% rename from app/src/main/java/com/player/musicoo/view/ModuleView.kt rename to app/src/main/java/relax/offline/music/view/ModuleView.kt index 0de72b7..c3076fe 100644 --- a/app/src/main/java/com/player/musicoo/view/ModuleView.kt +++ b/app/src/main/java/relax/offline/music/view/ModuleView.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.view +package relax.offline.music.view import android.content.Context import android.util.AttributeSet diff --git a/app/src/main/java/com/player/musicoo/view/MusicBarsView.kt b/app/src/main/java/relax/offline/music/view/MusicBarsView.kt similarity index 98% rename from app/src/main/java/com/player/musicoo/view/MusicBarsView.kt rename to app/src/main/java/relax/offline/music/view/MusicBarsView.kt index 39311be..c0583ce 100644 --- a/app/src/main/java/com/player/musicoo/view/MusicBarsView.kt +++ b/app/src/main/java/relax/offline/music/view/MusicBarsView.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.view +package relax.offline.music.view import android.animation.ValueAnimator import android.content.Context diff --git a/app/src/main/java/com/player/musicoo/view/MusicPlayerView.kt b/app/src/main/java/relax/offline/music/view/MusicPlayerView.kt similarity index 92% rename from app/src/main/java/com/player/musicoo/view/MusicPlayerView.kt rename to app/src/main/java/relax/offline/music/view/MusicPlayerView.kt index ac64c75..c528a92 100644 --- a/app/src/main/java/com/player/musicoo/view/MusicPlayerView.kt +++ b/app/src/main/java/relax/offline/music/view/MusicPlayerView.kt @@ -1,8 +1,7 @@ -package com.player.musicoo.view +package relax.offline.music.view import android.annotation.SuppressLint import android.app.Activity -import android.content.Context import android.content.Intent import android.os.Handler import android.os.Looper @@ -16,12 +15,10 @@ import androidx.media3.common.MediaItem import androidx.media3.common.Player import androidx.media3.session.MediaController import com.bumptech.glide.Glide -import com.player.musicoo.R -import com.player.musicoo.activity.MoPlayDetailsActivity -import com.player.musicoo.activity.PrimaryActivity -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.media.MediaControllerManager -import com.player.musicoo.util.LogTag +import relax.offline.music.R +import relax.offline.music.activity.MoPlayDetailsActivity +import relax.offline.music.activity.PrimaryActivity +import relax.offline.music.media.MediaControllerManager @SuppressLint("ViewConstructor") class MusicPlayerView( diff --git a/app/src/main/java/com/player/musicoo/view/MusicResponsiveListView.kt b/app/src/main/java/relax/offline/music/view/MusicResponsiveListView.kt similarity index 74% rename from app/src/main/java/com/player/musicoo/view/MusicResponsiveListView.kt rename to app/src/main/java/relax/offline/music/view/MusicResponsiveListView.kt index 6e3b29a..0e3d2dd 100644 --- a/app/src/main/java/com/player/musicoo/view/MusicResponsiveListView.kt +++ b/app/src/main/java/relax/offline/music/view/MusicResponsiveListView.kt @@ -1,17 +1,13 @@ -package com.player.musicoo.view +package relax.offline.music.view import android.annotation.SuppressLint import android.content.Context import android.widget.TextView import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView -import com.player.musicoo.App -import com.player.musicoo.R -import com.player.musicoo.adapter.ResponsiveListAdapter -import com.player.musicoo.adapter.SoundsOfNatureAdapter -import com.player.musicoo.innertube.Innertube -import com.player.musicoo.util.GridSpacingItemDecoration -import com.player.musicoo.util.LogTag +import relax.offline.music.R +import relax.offline.music.adapter.ResponsiveListAdapter +import relax.offline.music.innertube.Innertube @SuppressLint("ViewConstructor") class MusicResponsiveListView(context: Context, homePage: Innertube.HomePage) : diff --git a/app/src/main/java/com/player/musicoo/view/MusicTowRowListView.kt b/app/src/main/java/relax/offline/music/view/MusicTowRowListView.kt similarity index 72% rename from app/src/main/java/com/player/musicoo/view/MusicTowRowListView.kt rename to app/src/main/java/relax/offline/music/view/MusicTowRowListView.kt index 5817ea9..7daa4db 100644 --- a/app/src/main/java/com/player/musicoo/view/MusicTowRowListView.kt +++ b/app/src/main/java/relax/offline/music/view/MusicTowRowListView.kt @@ -1,16 +1,13 @@ -package com.player.musicoo.view +package relax.offline.music.view import android.annotation.SuppressLint import android.app.Activity -import android.content.Context import android.widget.TextView -import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView -import com.player.musicoo.R -import com.player.musicoo.adapter.ResponsiveListAdapter -import com.player.musicoo.adapter.TowRowListAdapter -import com.player.musicoo.innertube.Innertube +import relax.offline.music.R +import relax.offline.music.adapter.TowRowListAdapter +import relax.offline.music.innertube.Innertube @SuppressLint("ViewConstructor") class MusicTowRowListView(context: Activity, homePage: Innertube.HomePage) : ModuleView(context) { diff --git a/app/src/main/java/com/player/musicoo/view/RadiusLayout.kt b/app/src/main/java/relax/offline/music/view/RadiusLayout.kt similarity index 94% rename from app/src/main/java/com/player/musicoo/view/RadiusLayout.kt rename to app/src/main/java/relax/offline/music/view/RadiusLayout.kt index 501cbbd..16c3b34 100644 --- a/app/src/main/java/com/player/musicoo/view/RadiusLayout.kt +++ b/app/src/main/java/relax/offline/music/view/RadiusLayout.kt @@ -1,10 +1,8 @@ -package com.player.musicoo.view +package relax.offline.music.view import android.content.Context import android.graphics.* -import android.renderscript.* import android.util.AttributeSet -import android.widget.FrameLayout import android.widget.RelativeLayout class RadiusLayout : RelativeLayout { diff --git a/app/src/main/java/com/player/musicoo/view/SearchResultOptimalView.kt b/app/src/main/java/relax/offline/music/view/SearchResultOptimalView.kt similarity index 90% rename from app/src/main/java/com/player/musicoo/view/SearchResultOptimalView.kt rename to app/src/main/java/relax/offline/music/view/SearchResultOptimalView.kt index 61dcea2..757b857 100644 --- a/app/src/main/java/com/player/musicoo/view/SearchResultOptimalView.kt +++ b/app/src/main/java/relax/offline/music/view/SearchResultOptimalView.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.view +package relax.offline.music.view import android.annotation.SuppressLint import android.content.Context @@ -7,11 +7,11 @@ import android.widget.ImageView import android.widget.LinearLayout import android.widget.TextView import com.bumptech.glide.Glide -import com.player.musicoo.R -import com.player.musicoo.activity.MoListDetailsActivity -import com.player.musicoo.activity.MoPlayDetailsActivity -import com.player.musicoo.activity.MoSingerDetailsActivity -import com.player.musicoo.innertube.Innertube +import relax.offline.music.R +import relax.offline.music.activity.MoListDetailsActivity +import relax.offline.music.activity.MoPlayDetailsActivity +import relax.offline.music.activity.MoSingerDetailsActivity +import relax.offline.music.innertube.Innertube @SuppressLint("ViewConstructor") class SearchResultOptimalView(context: Context, data: Innertube.SearchDataPage) : diff --git a/app/src/main/java/com/player/musicoo/view/SearchResultOtherView.kt b/app/src/main/java/relax/offline/music/view/SearchResultOtherView.kt similarity index 85% rename from app/src/main/java/com/player/musicoo/view/SearchResultOtherView.kt rename to app/src/main/java/relax/offline/music/view/SearchResultOtherView.kt index d5fc19d..9267245 100644 --- a/app/src/main/java/com/player/musicoo/view/SearchResultOtherView.kt +++ b/app/src/main/java/relax/offline/music/view/SearchResultOtherView.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.view +package relax.offline.music.view import android.annotation.SuppressLint import android.content.Context @@ -7,10 +7,10 @@ import android.widget.LinearLayout import android.widget.TextView import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView -import com.player.musicoo.R -import com.player.musicoo.activity.MoSearchMoreActivity -import com.player.musicoo.adapter.SearchResultOtherAdapter -import com.player.musicoo.innertube.Innertube +import relax.offline.music.R +import relax.offline.music.activity.MoSearchMoreActivity +import relax.offline.music.adapter.SearchResultOtherAdapter +import relax.offline.music.innertube.Innertube @SuppressLint("ViewConstructor") class SearchResultOtherView(context: Context, data: Innertube.SearchDataPage) : diff --git a/app/src/main/java/com/player/musicoo/view/SingerDetailsOtherView.kt b/app/src/main/java/relax/offline/music/view/SingerDetailsOtherView.kt similarity index 85% rename from app/src/main/java/com/player/musicoo/view/SingerDetailsOtherView.kt rename to app/src/main/java/relax/offline/music/view/SingerDetailsOtherView.kt index 93554e4..f5319ae 100644 --- a/app/src/main/java/com/player/musicoo/view/SingerDetailsOtherView.kt +++ b/app/src/main/java/relax/offline/music/view/SingerDetailsOtherView.kt @@ -1,18 +1,16 @@ -package com.player.musicoo.view +package relax.offline.music.view import android.annotation.SuppressLint import android.app.Activity -import android.content.Context import android.content.Intent import android.widget.LinearLayout import android.widget.TextView import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView -import com.player.musicoo.R -import com.player.musicoo.activity.MoSearchMoreActivity -import com.player.musicoo.activity.MoSingerMoreSongActivity -import com.player.musicoo.adapter.TowRowListAdapter -import com.player.musicoo.innertube.Innertube +import relax.offline.music.R +import relax.offline.music.activity.MoSingerMoreSongActivity +import relax.offline.music.adapter.TowRowListAdapter +import relax.offline.music.innertube.Innertube @SuppressLint("ViewConstructor") class SingerDetailsOtherView(context: Activity, bean: Innertube.SingerDetailsListPage) : diff --git a/app/src/main/java/com/player/musicoo/view/SingerDetailsSongView.kt b/app/src/main/java/relax/offline/music/view/SingerDetailsSongView.kt similarity index 85% rename from app/src/main/java/com/player/musicoo/view/SingerDetailsSongView.kt rename to app/src/main/java/relax/offline/music/view/SingerDetailsSongView.kt index 8c4e0c6..b31678a 100644 --- a/app/src/main/java/com/player/musicoo/view/SingerDetailsSongView.kt +++ b/app/src/main/java/relax/offline/music/view/SingerDetailsSongView.kt @@ -1,4 +1,4 @@ -package com.player.musicoo.view +package relax.offline.music.view import android.annotation.SuppressLint import android.content.Context @@ -8,10 +8,10 @@ import android.widget.TextView import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView -import com.player.musicoo.R -import com.player.musicoo.activity.MoSingerMoreSongActivity -import com.player.musicoo.adapter.SingerDetailsSongListAdapter -import com.player.musicoo.innertube.Innertube +import relax.offline.music.R +import relax.offline.music.activity.MoSingerMoreSongActivity +import relax.offline.music.adapter.SingerDetailsSongListAdapter +import relax.offline.music.innertube.Innertube @SuppressLint("ViewConstructor") class SingerDetailsSongView(context: Context, bean: Innertube.SingerDetailsListPage) : diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index d82f951..725a07d 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -60,7 +60,7 @@ android:layout_height="80dp" android:layout_gravity="center_horizontal" android:layout_marginTop="80dp" - android:src="@mipmap/musicoo_logo_img" /> + android:src="@mipmap/app_logo" /> + android:src="@mipmap/app_logo" /> diff --git a/app/src/main/res/layout/activity_launch.xml b/app/src/main/res/layout/activity_launch.xml index 3a58741..58d8c6d 100644 --- a/app/src/main/res/layout/activity_launch.xml +++ b/app/src/main/res/layout/activity_launch.xml @@ -43,7 +43,7 @@ android:textColor="#CCFFFFFF" android:textSize="16dp" /> - - - - - - + android:src="@mipmap/app_logo" /> @@ -53,7 +53,7 @@ android:layout_height="match_parent" android:visibility="gone"> - @@ -69,7 +69,7 @@ android:gravity="center_vertical" android:orientation="vertical"> - - + android:src="@mipmap/app_logo" /> + android:src="@mipmap/app_logo" /> - - - + android:src="@mipmap/app_logo" /> @@ -40,7 +40,7 @@ android:background="@color/black_60" android:visibility="gone"> - @@ -55,7 +55,7 @@ android:gravity="center_vertical" android:orientation="vertical"> - - + android:src="@mipmap/app_logo" /> @@ -35,7 +35,7 @@ android:gravity="center" android:orientation="vertical"> - - + android:src="@mipmap/app_logo" /> - @@ -64,7 +64,7 @@ android:gravity="center_vertical" android:orientation="vertical"> - - - + android:src="@mipmap/app_logo" /> - @@ -63,7 +63,7 @@ android:gravity="center_vertical" android:orientation="vertical"> - - - @@ -24,7 +24,7 @@ android:layout_height="match_parent" android:scaleType="centerCrop" /> - + + android:src="@mipmap/app_logo" /> - - + android:src="@mipmap/app_logo" /> - - (pWvn=FLSwk#r+Ap?+D8eAF+~LX1Vus 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%0Dtf!6SZ9P?xdv)|dX^gAd}l z9TS_uq!ZS?)6&&ga9@Ox<%AVJA8QZl`q)HI{(Pcv52Tl1>sT^)fcPgGZCFDW6-v^jipKoAO_0EJ}b zgEu85%%ShEN6cE{NvYbXCBFEmBY||=Fj56HhR*=WM*XKdthqd#gf0=Xk%67XJ4G+Y z=Dl=00CPEPyRD0CoviPI3rDQDzcCa&(tYY!Noj{mS955M4PKV#VG#h2vIxw?5n}Ah zs4B!&9OY1gdW+tV;5w!~J%O)Kpy@4h)gbcO_RyKoDL( z)0s7FO1`IU+1ei~Nry(u$v0TS>lFt2nW_2fBTlm+)Ppzrp+0}sM|V*eFiITICatMv zZN@JCG>e6H|Jb!8j*8Ccm-Ot1wK>TnQEyx-iN$%npxRZl7D`9ZDix0=0SnJyz_-V|KyR;8r@Qxj zZB`o7^Lc{RgGMAn cK!+cfHM;klef=Ex=>~wA@nxe5L-)A<0n{`KssI20 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/musicoo_logo_img.png b/app/src/main/res/mipmap-xxhdpi/musicoo_logo_img.png deleted file mode 100644 index f4e2bc1560854c9a42898013b2e26c9fa1135b28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19082 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 KH1Lo78vogF=FD6G diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index a20f4c2..5c2700b 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -1,6 +1,6 @@ - diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 5c07101..4af2abe 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -1,10 +1,10 @@ - -