gitextract_hkxa2m6e/ ├── .gitignore ├── .idea/ │ ├── .gitignore │ ├── artifacts/ │ │ └── NCMusicDesktop_jvm_1_0_SNAPSHOT.xml │ ├── gradle.xml │ ├── kotlinc.xml │ ├── misc.xml │ ├── uiDesigner.xml │ └── vcs.xml ├── README.md ├── build.gradle.kts ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── launcher/ │ └── icon.icns ├── proguard-rules.pro ├── settings.gradle.kts └── src/ └── jvmMain/ ├── kotlin/ │ ├── Main.kt │ ├── base/ │ │ ├── AppConfig.kt │ │ ├── BaseViewModel.kt │ │ ├── MusicPlayController.kt │ │ ├── UserManager.kt │ │ └── player/ │ │ ├── IPlayer.kt │ │ ├── IPlayerListener.kt │ │ ├── NCPlayer.kt │ │ ├── PlayMode.kt │ │ └── PlayerStatus.kt │ ├── http/ │ │ ├── RetrofitClient.kt │ │ ├── api/ │ │ │ └── NCApi.kt │ │ └── interceptor/ │ │ └── CookieInterceptor.kt │ ├── model/ │ │ ├── BasePagingBean.kt │ │ ├── BaseResult.kt │ │ ├── CommentResult.kt │ │ ├── LoginResult.kt │ │ ├── LyricResult.kt │ │ ├── NewSongResult.kt │ │ ├── PlayListResult.kt │ │ ├── PrivateContentResult.kt │ │ ├── RecommendMVResult.kt │ │ └── SongDetailResult.kt │ ├── router/ │ │ ├── NavGraph.kt │ │ └── RouterUrls.kt │ ├── ui/ │ │ ├── common/ │ │ │ ├── CommonImage.kt │ │ │ ├── CommonTabLayout.kt │ │ │ ├── CpnActionMore.kt │ │ │ ├── ExpandableText.kt │ │ │ ├── ListToGridItems.kt │ │ │ ├── LoadingComponent.kt │ │ │ ├── ModifierExt.kt │ │ │ ├── NoSuccessComponent.kt │ │ │ ├── PaingFooterNumBar.kt │ │ │ ├── SeekBar.kt │ │ │ ├── TableLayout.kt │ │ │ ├── ViewStateComponent.kt │ │ │ ├── ViewStateLazyGridPagingComponent.kt │ │ │ └── toast/ │ │ │ └── Toast.kt │ │ ├── discovery/ │ │ │ ├── DiscoveryPage.kt │ │ │ └── cpn/ │ │ │ ├── CpnHighQualityPlayListEntrance.kt │ │ │ ├── CpnNewSongEntrance.kt │ │ │ ├── CpnPersonalRecommend.kt │ │ │ ├── CpnPlayListItem.kt │ │ │ ├── CpnPlayListTabSelectedBar.kt │ │ │ ├── CpnPrivateContentEntrance.kt │ │ │ ├── CpnRecommandPlayListEntrance.kt │ │ │ ├── CpnRecommendPlayList.kt │ │ │ └── CpnRecommentMVEntrance.kt │ │ ├── login/ │ │ │ └── QrcodeLoginDialog.kt │ │ ├── main/ │ │ │ ├── MainPage.kt │ │ │ └── cpn/ │ │ │ ├── CpnMainLeftMenu.kt │ │ │ ├── CpnMainMusicPlayDrawer.kt │ │ │ ├── CpnMainRightContainer.kt │ │ │ ├── CpnMusicPlayBottomBar.kt │ │ │ ├── CpnPlaformDecoratedButtons.kt │ │ │ └── CpnThemePopup.kt │ │ ├── play/ │ │ │ ├── CpnCurrentPlayListSheet.kt │ │ │ ├── CpnLyric.kt │ │ │ ├── CpnMusicPlay.kt │ │ │ └── CpnSongInfo.kt │ │ ├── playlist/ │ │ │ ├── PlayListDetailPage.kt │ │ │ └── cpn/ │ │ │ ├── CpnPlayListCommentList.kt │ │ │ ├── CpnPlayListSubscribers.kt │ │ │ └── CpnTrackList.kt │ │ ├── setting/ │ │ │ └── SettingPage.kt │ │ ├── theme/ │ │ │ ├── Shape.kt │ │ │ ├── Theme.kt │ │ │ └── color/ │ │ │ ├── AppColors.kt │ │ │ └── palette/ │ │ │ ├── dark/ │ │ │ │ └── DartColorPalette.kt │ │ │ └── light/ │ │ │ ├── BlueColorPalette.kt │ │ │ ├── DefaultColorPalette.kt │ │ │ ├── GreenColorPalette.kt │ │ │ ├── OriginColorPalette.kt │ │ │ ├── PurpleColorPalette.kt │ │ │ └── YellowColorPalette.kt │ │ └── todo/ │ │ ├── TestPage.kt │ │ └── TodoPage.kt │ └── util/ │ ├── DataStoreUtils.kt │ ├── DensityExt.kt │ ├── EnvUtil.kt │ ├── LyricUtil.kt │ ├── QrcodeUtil.kt │ ├── StringUtil.kt │ ├── TimeUtil.kt │ └── createDataStore.kt └── resources/ └── image/ ├── ic_empty.xml ├── ic_load_error.xml └── ic_network_error.xml