├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── bool.xml │ │ │ │ └── themes.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── values-night │ │ │ │ ├── bool.xml │ │ │ │ └── themes.xml │ │ │ ├── mipmap-anydpi │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── values-v29 │ │ │ │ └── themes.xml │ │ │ ├── values-night-v29 │ │ │ │ └── themes.xml │ │ │ ├── layout │ │ │ │ ├── layout_effect_bg.xml │ │ │ │ └── activity_main.xml │ │ │ ├── drawable │ │ │ │ ├── ic_download.xml │ │ │ │ ├── round_play_arrow_24.xml │ │ │ │ ├── ic_arrow_back_24.xml │ │ │ │ ├── round_pause_24.xml │ │ │ │ ├── round_skip_next_24.xml │ │ │ │ ├── round_skip_previous_24.xml │ │ │ │ ├── outline_refresh_24.xml │ │ │ │ ├── ic_baseline_favorite_24.xml │ │ │ │ ├── ic_youtube.xml │ │ │ │ ├── ic_github.xml │ │ │ │ ├── ic_outline_favorite_24.xml │ │ │ │ ├── ic_qq_music.xml │ │ │ │ ├── ic_netease_cloud_music.xml │ │ │ │ ├── ic_launcher_foreground.xml │ │ │ │ ├── ic_bilibili.xml │ │ │ │ └── ic_launcher_background.xml │ │ │ ├── xml │ │ │ │ ├── backup_rules.xml │ │ │ │ ├── data_extraction_rules.xml │ │ │ │ └── file_paths.xml │ │ │ └── menu │ │ │ │ └── menu_netease_web_login.xml │ │ ├── java │ │ │ └── moe │ │ │ │ └── ouom │ │ │ │ └── neriplayer │ │ │ │ ├── util │ │ │ │ ├── DynamicProxySelector.kt │ │ │ │ ├── Ext.kt │ │ │ │ ├── NightModeHelper.kt │ │ │ │ ├── Utils.kt │ │ │ │ ├── Formatters.kt │ │ │ │ ├── JsonUtil.kt │ │ │ │ └── SearchManager.kt │ │ │ │ ├── core │ │ │ │ ├── api │ │ │ │ │ ├── netease │ │ │ │ │ │ └── CryptoMode.kt │ │ │ │ │ ├── search │ │ │ │ │ │ ├── SearchApi.kt │ │ │ │ │ │ └── SongData.kt │ │ │ │ │ └── bili │ │ │ │ │ │ └── BiliPlaybackRepository.kt │ │ │ │ ├── player │ │ │ │ │ ├── ReactiveRenderersFactory.kt │ │ │ │ │ └── ConditionalHttpDataSourceFactory.kt │ │ │ │ └── di │ │ │ │ │ └── AppContainer.kt │ │ │ │ ├── ui │ │ │ │ ├── AppUiState.kt │ │ │ │ ├── viewmodel │ │ │ │ │ ├── DownloadManagerViewModel.kt │ │ │ │ │ ├── auth │ │ │ │ │ │ └── BiliAuthViewModel.kt │ │ │ │ │ ├── playlist │ │ │ │ │ │ ├── LocalPlaylistDetailViewModel.kt │ │ │ │ │ │ └── BiliPlaylistDetailViewModel.kt │ │ │ │ │ ├── NowPlayingViewModel.kt │ │ │ │ │ └── debug │ │ │ │ │ │ ├── SearchApiProbeViewModel.kt │ │ │ │ │ │ └── NeteaseApiProbeViewModel.kt │ │ │ │ ├── theme │ │ │ │ │ └── NeriTheme.kt │ │ │ │ ├── component │ │ │ │ │ ├── NeriBottomBar.kt │ │ │ │ │ ├── HsvPicker.kt │ │ │ │ │ └── WaveformSlider.kt │ │ │ │ ├── CustomBackground.kt │ │ │ │ ├── screen │ │ │ │ │ ├── host │ │ │ │ │ │ └── ExploreHostScreen.kt │ │ │ │ │ └── debug │ │ │ │ │ │ └── SearchApiProbeScreen.kt │ │ │ │ └── util │ │ │ │ │ └── PlaylistSavers.kt │ │ │ │ ├── NeriPlayerApplication.kt │ │ │ │ ├── data │ │ │ │ ├── PlaylistUsageRepository.kt │ │ │ │ ├── BiliCookieRepository.kt │ │ │ │ ├── BiliAudioSelector.kt │ │ │ │ ├── PlayHistoryRepository.kt │ │ │ │ └── NeteaseCookieRepository.kt │ │ │ │ └── navigation │ │ │ │ └── Destinations.kt │ │ └── AndroidManifest.xml │ ├── androidTest │ │ └── java │ │ │ └── moe │ │ │ └── ouom │ │ │ └── neriplayer │ │ │ └── ExampleInstrumentedTest.kt │ └── test │ │ └── java │ │ └── moe │ │ └── ouom │ │ └── neriplayer │ │ └── ExampleUnitTest.kt ├── libs │ └── lib-decoder-ffmpeg-release.aar └── proguard-rules.pro ├── .idea ├── .gitignore ├── codeStyles │ ├── codeStyleConfig.xml │ └── Project.xml ├── compiler.xml ├── vcs.xml ├── dictionaries │ └── project.xml ├── AndroidProjectSystem.xml ├── migrations.xml ├── misc.xml ├── deploymentTargetSelector.xml ├── gradle.xml ├── fileTemplates │ └── includes │ │ └── File Header.java ├── runConfigurations.xml └── inspectionProfiles │ └── Project_Default.xml ├── gradle ├── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties └── libs.versions.toml ├── .gitignore ├── settings.gradle.kts ├── .github ├── PULL_REQUEST_TEMPLATE.md ├── ISSUE_TEMPLATE │ ├── feature-request.yml │ ├── bug-report.yml │ └── suggestion-submission.yml └── workflows │ └── android_ci.yml ├── gradle.properties ├── gradlew.bat ├── README.md └── CODE_OF_CONDUCT.md /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 音理音理! 3 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwuom/NeriPlayer/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/libs/lib-decoder-ffmpeg-release.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwuom/NeriPlayer/HEAD/app/libs/lib-decoder-ffmpeg-release.aar -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwuom/NeriPlayer/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwuom/NeriPlayer/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwuom/NeriPlayer/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwuom/NeriPlayer/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwuom/NeriPlayer/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwuom/NeriPlayer/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwuom/NeriPlayer/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwuom/NeriPlayer/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwuom/NeriPlayer/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cwuom/NeriPlayer/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FF000000 4 | #FFFFFFFF 5 | -------------------------------------------------------------------------------- /app/src/main/res/values/bool.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | false 4 | true 5 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values-night/bool.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | true 4 | false 5 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/dictionaries/project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | cwuom 5 | neriplayer 6 | ouom 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/AndroidProjectSystem.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Aug 08 13:47:34 CST 2025 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /.idea/migrations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | /.idea/deviceManager.xml 17 | /app/release 18 | /.idea/.name 19 | -------------------------------------------------------------------------------- /app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values-v29/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-night-v29/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/layout/layout_effect_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_download.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/round_play_arrow_24.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_arrow_back_24.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/round_pause_24.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/round_skip_next_24.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 |