├── .gitignore ├── .idea ├── caches │ └── build_file_checksums.ser ├── codeStyles │ └── Project.xml ├── gradle.xml ├── misc.xml ├── runConfigurations.xml └── vcs.xml ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── cn │ │ └── deepkolos │ │ └── simplemusic3 │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── cn │ │ │ └── deepkolos │ │ │ └── simplemusic3 │ │ │ ├── App.java │ │ │ ├── Http │ │ │ ├── Download.java │ │ │ └── MusicApi.java │ │ │ ├── Model │ │ │ ├── ListInfo.java │ │ │ ├── Raw │ │ │ │ ├── BannerRaw.java │ │ │ │ ├── HotMusicList.java │ │ │ │ ├── LyricRaw.java │ │ │ │ ├── PlaylistRaw.java │ │ │ │ └── SongRaw.java │ │ │ └── Song.java │ │ │ ├── Page │ │ │ ├── AlbumActivity.java │ │ │ ├── CloudMusic │ │ │ │ ├── FriendsFragment.java │ │ │ │ ├── RadioStationFragment.java │ │ │ │ └── RecommendationFragment.java │ │ │ ├── LocalMusic │ │ │ │ ├── AlbumFragment.java │ │ │ │ ├── DirectoryFragment.java │ │ │ │ ├── SingerFragment.java │ │ │ │ └── SongFragment.java │ │ │ ├── LocalMusicActivity.java │ │ │ ├── Main │ │ │ │ ├── CloudMusicFragment.java │ │ │ │ ├── ShortVideoFragment.java │ │ │ │ └── SongListFragment.java │ │ │ ├── MainActivity.java │ │ │ ├── MusicPlayerActivity.java │ │ │ ├── PlayBarFragment.java │ │ │ ├── RadioPlayerActivity.java │ │ │ ├── TopBarActivity.java │ │ │ ├── Utils │ │ │ │ └── ViewPagerFragment.java │ │ │ └── WellcomeActivity.java │ │ │ ├── Service │ │ │ └── MediaService.java │ │ │ ├── State │ │ │ ├── BaseState.java │ │ │ ├── CollectListSetState.java │ │ │ ├── HistoryState.java │ │ │ ├── LocalSongListState.java │ │ │ ├── ModeState.java │ │ │ ├── PlayListState.java │ │ │ ├── PlayState.java │ │ │ ├── PlayingSongState.java │ │ │ ├── SongListSetState.java │ │ │ ├── SongState.java │ │ │ └── State.java │ │ │ ├── Storage │ │ │ ├── BaseStore.java │ │ │ ├── Cache │ │ │ │ ├── ImageCache.java │ │ │ │ ├── LyricCache.java │ │ │ │ └── SongCache.java │ │ │ ├── DB.java │ │ │ ├── Loader │ │ │ │ ├── ImageLoader.java │ │ │ │ ├── LyricLoader.java │ │ │ │ └── SongLoader.java │ │ │ └── Store │ │ │ │ ├── CoverStore.java │ │ │ │ ├── LyricStore.java │ │ │ │ └── SongStore.java │ │ │ ├── Utils │ │ │ ├── Callback.java │ │ │ ├── ImageUtils.java │ │ │ ├── NumberUtils.java │ │ │ ├── RippleDrawableUtils.java │ │ │ ├── RippleHelper.java │ │ │ ├── StringUtils.java │ │ │ ├── UiUtils.java │ │ │ └── UnitHelper.java │ │ │ └── Widget │ │ │ ├── BottomPlayBar.java │ │ │ ├── BottomPopup.java │ │ │ ├── BottomPopupWithListView.java │ │ │ ├── Button │ │ │ ├── AlbumButton.java │ │ │ ├── CircleIconButton.java │ │ │ ├── IconTitleButton.java │ │ │ ├── PlayListButton.java │ │ │ ├── PlayPauseButton.java │ │ │ └── RectangleIconButton.java │ │ │ ├── CarouselItem.java │ │ │ ├── CarouselView.java │ │ │ ├── Dialog │ │ │ ├── CreateSongListDialog.java │ │ │ └── SelectSongListDialog.java │ │ │ ├── Layout │ │ │ ├── ClipFrameLayout.java │ │ │ ├── MaxLayout.java │ │ │ └── MinLayout.java │ │ │ ├── ListItem │ │ │ ├── AlbumView.java │ │ │ ├── PlayListSongView.java │ │ │ ├── SongView.java │ │ │ └── WithCounterView.java │ │ │ ├── ListViewNestedInScrollView.java │ │ │ ├── ListViewWrap.java │ │ │ ├── Menu │ │ │ └── LyricMenu.java │ │ │ ├── MyScrollView.java │ │ │ ├── OverRollTextView.java │ │ │ ├── PlaylistBottomPopup.java │ │ │ ├── SimpleViewPager.java │ │ │ ├── SquareImageView.java │ │ │ ├── TextTabsView.java │ │ │ ├── TurnTableHandView.java │ │ │ ├── TurntableView.java │ │ │ └── Utils │ │ │ └── LoadingUtils.java │ └── res │ │ ├── anim │ │ ├── none_anim.xml │ │ ├── popup_enter_anim.xml │ │ └── popup_leave_anim.xml │ │ ├── drawable-v21 │ │ ├── btn_action_bg_selector.xml │ │ ├── music_list_more_bg_selector.xml │ │ ├── play_bar_bg_selector.xml │ │ ├── play_bar_bg_selector_dark.xml │ │ ├── ripple_22_btn.xml │ │ ├── ripple_27_btn.xml │ │ └── ripple_bar.xml │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable-xhdpi │ │ ├── ic_play_page_indicator_selected.png │ │ └── ic_play_page_indicator_unselected.png │ │ ├── drawable-xxhdpi │ │ ├── default_artist.png │ │ ├── default_cover.png │ │ ├── ic_arrow_down.png │ │ ├── ic_edit.png │ │ ├── ic_loading1.png │ │ ├── ic_loading2.png │ │ ├── ic_loading3.png │ │ ├── ic_loading4.png │ │ ├── ic_menu.png │ │ ├── ic_menu_about.png │ │ ├── ic_menu_exit.png │ │ ├── ic_menu_night.png │ │ ├── ic_menu_search.png │ │ ├── ic_menu_settings.png │ │ ├── ic_menu_timer.png │ │ ├── ic_music_list_icon_more.png │ │ ├── ic_notification.png │ │ ├── ic_online_music_list_profile_headline.png │ │ ├── ic_play_bar_btn_next.png │ │ ├── ic_play_bar_btn_pause.png │ │ ├── ic_play_bar_btn_play.png │ │ ├── ic_play_bar_btn_playlist.png │ │ ├── ic_play_btn_loop.png │ │ ├── ic_play_btn_loop_pressed.png │ │ ├── ic_play_btn_next.png │ │ ├── ic_play_btn_next_pressed.png │ │ ├── ic_play_btn_one.png │ │ ├── ic_play_btn_one_pressed.png │ │ ├── ic_play_btn_pause.png │ │ ├── ic_play_btn_pause_pressed.png │ │ ├── ic_play_btn_play.png │ │ ├── ic_play_btn_play_pressed.png │ │ ├── ic_play_btn_prev.png │ │ ├── ic_play_btn_prev_pressed.png │ │ ├── ic_play_btn_shuffle.png │ │ ├── ic_play_btn_shuffle_pressed.png │ │ ├── ic_seek_bar_progress_btn.png │ │ ├── ic_seek_bar_volume_btn.png │ │ ├── ic_status_bar_next_dark.png │ │ ├── ic_status_bar_next_dark_pressed.png │ │ ├── ic_status_bar_next_light.png │ │ ├── ic_status_bar_next_light_pressed.png │ │ ├── ic_status_bar_pause_dark.png │ │ ├── ic_status_bar_pause_dark_pressed.png │ │ ├── ic_status_bar_pause_light.png │ │ ├── ic_status_bar_pause_light_pressed.png │ │ ├── ic_status_bar_play_dark.png │ │ ├── ic_status_bar_play_dark_pressed.png │ │ ├── ic_status_bar_play_light.png │ │ ├── ic_status_bar_play_light_pressed.png │ │ ├── ic_volume.png │ │ ├── play_page_default_bg.jpg │ │ ├── play_page_default_cover.png │ │ ├── play_page_disc.png │ │ └── play_page_needle.png │ │ ├── drawable │ │ ├── album_group_indicator.xml │ │ ├── back_btn.png │ │ ├── btn_action_bg_selector.xml │ │ ├── deepkolos.jpg │ │ ├── dot_color.xml │ │ ├── expand_indicator.png │ │ ├── expand_list_item_setting_btn.png │ │ ├── expand_setting_btn.png │ │ ├── ic_album_bg.png │ │ ├── ic_big_comment.png │ │ ├── ic_big_download.png │ │ ├── ic_big_like.png │ │ ├── ic_big_liked.png │ │ ├── ic_big_menu.png │ │ ├── ic_delete.png │ │ ├── ic_directory.png │ │ ├── ic_downloaded_full_badge.png │ │ ├── ic_info.png │ │ ├── ic_launcher_background.xml │ │ ├── ic_link.png │ │ ├── ic_little_clock.png │ │ ├── ic_little_collect.png │ │ ├── ic_little_collect_sized.xml │ │ ├── ic_little_comment.png │ │ ├── ic_little_download.png │ │ ├── ic_little_mode_loop.png │ │ ├── ic_little_mode_loop_sized.xml │ │ ├── ic_little_mode_random.png │ │ ├── ic_little_mode_random_sized.xml │ │ ├── ic_little_mode_single.png │ │ ├── ic_little_mode_single_sized.xml │ │ ├── ic_little_multi_select.png │ │ ├── ic_little_night_mode.png │ │ ├── ic_little_play.png │ │ ├── ic_little_poweroffpng.png │ │ ├── ic_little_scan.png │ │ ├── ic_little_setting.png │ │ ├── ic_little_share.png │ │ ├── ic_little_skin.png │ │ ├── ic_menu_album.png │ │ ├── ic_menu_btn.png │ │ ├── ic_menu_collect.png │ │ ├── ic_menu_comment.png │ │ ├── ic_menu_create.png │ │ ├── ic_menu_delete.png │ │ ├── ic_menu_download.png │ │ ├── ic_menu_edit.png │ │ ├── ic_menu_manage.png │ │ ├── ic_menu_play_next.png │ │ ├── ic_menu_recover.png │ │ ├── ic_menu_ring.png │ │ ├── ic_menu_share.png │ │ ├── ic_menu_singer.png │ │ ├── ic_menu_video.png │ │ ├── ic_play_mv_btn.png │ │ ├── ic_round_calendar_btn.png │ │ ├── ic_round_calendar_btn_pressed.png │ │ ├── ic_round_calendar_btn_selector.xml │ │ ├── ic_round_radio_btn.png │ │ ├── ic_round_radio_btn_pressed.png │ │ ├── ic_round_radio_btn_selector.xml │ │ ├── ic_round_rate_board_btn.png │ │ ├── ic_round_rate_board_btn_pressed.png │ │ ├── ic_round_rate_board_btn_selector.xml │ │ ├── ic_round_songlist_btn.png │ │ ├── ic_round_songlist_btn_pressed.png │ │ ├── ic_round_songlist_btn_selector.xml │ │ ├── ic_search_black_24dp.xml │ │ ├── ic_small_ear.png │ │ ├── ic_small_ear_sized.xml │ │ ├── ic_songlist_downloaded.png │ │ ├── ic_songlist_local_music.png │ │ ├── ic_songlist_my_collection.png │ │ ├── ic_songlist_my_radio.png │ │ ├── ic_songlist_recently_play.png │ │ ├── ic_sq_badge.png │ │ ├── ic_status_bar_next_dark_selector.xml │ │ ├── ic_status_bar_next_light_selector.xml │ │ ├── ic_status_bar_pause_dark_selector.xml │ │ ├── ic_status_bar_pause_light_selector.xml │ │ ├── ic_status_bar_play_dark_selector.xml │ │ ├── ic_status_bar_play_light_selector.xml │ │ ├── ic_test_cover.png │ │ ├── ic_text_arrow_right.png │ │ ├── ic_text_arrow_right_sized.xml │ │ ├── ic_tiny_menu.png │ │ ├── ic_tiny_menu_sized.xml │ │ ├── ic_trash.png │ │ ├── ic_v_badge.png │ │ ├── ic_volume_red.png │ │ ├── lyric_indicator.png │ │ ├── lyric_menu_btn.png │ │ ├── lyrics_locator_triangle.xml │ │ ├── menu_divider_shape.xml │ │ ├── music_list_more_bg_selector.xml │ │ ├── music_player_top_line.xml │ │ ├── music_tab_bar_text_color_selector.xml │ │ ├── play_bar_bg_selector.xml │ │ ├── play_bar_bg_selector_dark.xml │ │ ├── play_bar_btn_play_pause_selector.xml │ │ ├── play_btn_loop_selector.xml │ │ ├── play_btn_next_selector.xml │ │ ├── play_btn_one_selector.xml │ │ ├── play_btn_pause_selector.xml │ │ ├── play_btn_play_pause_selector.xml │ │ ├── play_btn_play_selector.xml │ │ ├── play_btn_playlist_selector.xml │ │ ├── play_btn_prev_selector.xml │ │ ├── play_btn_shuffle_selector.xml │ │ ├── play_mode_level_list.xml │ │ ├── play_mode_loop.png │ │ ├── play_mode_loop_pressed.png │ │ ├── play_mode_random.png │ │ ├── play_mode_random_pressed.png │ │ ├── play_mode_single.png │ │ ├── play_mode_single_pressed.png │ │ ├── play_next_btn.png │ │ ├── play_next_btn_pressed.png │ │ ├── play_page_cover_border_shape.xml │ │ ├── play_page_cover_top_line_shape.xml │ │ ├── play_pause_btn.png │ │ ├── play_pause_btn_pressed.png │ │ ├── play_play_btn.png │ │ ├── play_play_btn_pressed.png │ │ ├── play_prev_btn.png │ │ ├── play_prev_btn_pressed.png │ │ ├── player_bar_swipe_edge_left_bg.xml │ │ ├── player_bar_swipe_edge_right_bg.xml │ │ ├── press_dark_bg.xml │ │ ├── press_light_bg.xml │ │ ├── progress_bar_drawable.xml │ │ ├── progress_bar_style.xml │ │ ├── rect_icon_btn_badge_top_left_bg.xml │ │ ├── rect_icon_btn_button_bg.xml │ │ ├── rect_icon_btn_top_bg.xml │ │ ├── scrollbar_thumb.xml │ │ ├── seek_bar_progress_style.xml │ │ ├── seek_bar_volume_style.xml │ │ ├── share_btn.png │ │ ├── to_play_list_btn.png │ │ ├── to_play_list_btn_pressed.png │ │ ├── topbar_cloud_music_btn.png │ │ ├── topbar_cloud_music_btn_selected.png │ │ ├── topbar_main_cloud_music_btn.xml │ │ ├── topbar_main_short_video_btn.xml │ │ ├── topbar_main_songlist_btn.xml │ │ ├── topbar_menu_btn.png │ │ ├── topbar_search_btn.png │ │ ├── topbar_short_video_btn.png │ │ ├── topbar_short_video_btn_selected.png │ │ ├── topbar_songlist_btn.png │ │ ├── topbar_songlist_btn_selected.png │ │ └── touchable_background_white.xml │ │ ├── layout-ldltr │ │ ├── activity_main.xml │ │ └── fragment_player_bar.xml │ │ ├── layout │ │ ├── activity_album.xml │ │ ├── activity_album_content.xml │ │ ├── activity_album_content_head.xml │ │ ├── activity_album_songlist_topbar.xml │ │ ├── activity_album_topbar.xml │ │ ├── activity_local_music.xml │ │ ├── activity_local_music_topbar.xml │ │ ├── activity_main_content.xml │ │ ├── activity_main_drawer.xml │ │ ├── activity_main_topbar.xml │ │ ├── activity_music_player.xml │ │ ├── activity_music_player_content.xml │ │ ├── activity_music_player_topbar.xml │ │ ├── activity_radio_player.xml │ │ ├── activity_radio_player_content.xml │ │ ├── activity_radio_player_topbar.xml │ │ ├── dialog_create_songlist.xml │ │ ├── fragment_cloudmusic.xml │ │ ├── fragment_friends.xml │ │ ├── fragment_loading.xml │ │ ├── fragment_local_music_song_album_dir_singer.xml │ │ ├── fragment_local_music_song_head.xml │ │ ├── fragment_not_get_done.xml │ │ ├── fragment_radiostation.xml │ │ ├── fragment_recommendation.xml │ │ ├── fragment_shortvideo.xml │ │ ├── fragment_songlist.xml │ │ ├── menu_album_item_setting.xml │ │ ├── menu_songlist_group_setting.xml │ │ ├── menu_songlist_item_type_setting.xml │ │ ├── view_album_button.xml │ │ ├── view_album_list_item.xml │ │ ├── view_album_width_bg_list_item.xml │ │ ├── view_bottom_popup.xml │ │ ├── view_bottom_popup_content.xml │ │ ├── view_bottom_popup_content_listview.xml │ │ ├── view_bottom_popup_menu_item.xml │ │ ├── view_carousel.xml │ │ ├── view_circle_icon_btn.xml │ │ ├── view_drawer_bottom_button.xml │ │ ├── view_drawer_button.xml │ │ ├── view_list_of_songlist_item.xml │ │ ├── view_loading.xml │ │ ├── view_lyric_menu.xml │ │ ├── view_player_bar_placeholder.xml │ │ ├── view_playlist_song_content.xml │ │ ├── view_playlist_song_item.xml │ │ ├── view_playlist_song_topbar.xml │ │ ├── view_rect_icon_btn.xml │ │ ├── view_song_item.xml │ │ ├── view_songlist_album_group.xml │ │ └── view_turntable.xml │ │ ├── menu │ │ └── menu.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── attrs_clip_layout.xml │ │ ├── attrs_icon_title.xml │ │ ├── attrs_image.xml │ │ ├── attrs_max_min_height_width.xml │ │ ├── attrs_song_item.xml │ │ ├── attrs_textview.xml │ │ ├── attrs_view_pager.xml │ │ ├── bottom_layer_bar.xml │ │ ├── colors.xml │ │ ├── strings.xml │ │ ├── styles.xml │ │ └── top_bar.xml │ └── test │ └── java │ └── cn │ └── deepkolos │ └── simplemusic3 │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── musicDB.mwb ├── musicDB.mwb.bak ├── screenshot ├── Screenshot_2018-06-23-22-37-09-1586327018.png ├── Screenshot_2018-06-23-22-37-14-2106904949.png ├── Screenshot_2018-06-23-22-37-19-0320874127.png ├── Screenshot_2018-06-23-22-37-47-1021830689.png ├── Screenshot_2018-06-23-22-39-48-0280736238.png ├── Screenshot_2018-06-23-22-39-52-2068856406.png ├── Screenshot_2018-06-23-22-39-57-1352841379.png ├── Screenshot_2018-06-23-22-40-04-0640959777.png ├── Screenshot_2018-06-23-22-40-10-0433593587.png └── Screenshot_2018-06-23-22-40-17-1372183378.png └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/libraries 5 | /.idea/modules.xml 6 | /.idea/workspace.xml 7 | .DS_Store 8 | /build 9 | /captures 10 | .externalNativeBuild 11 | -------------------------------------------------------------------------------- /.idea/caches/build_file_checksums.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/.idea/caches/build_file_checksums.ser -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 15 | 16 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 27 5 | defaultConfig { 6 | applicationId "cn.deepkolos.simplemusic3" 7 | minSdkVersion 23 8 | targetSdkVersion 27 9 | versionCode 1 10 | versionName "1.0" 11 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 12 | } 13 | buildTypes { 14 | release { 15 | minifyEnabled false 16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 17 | } 18 | } 19 | } 20 | 21 | dependencies { 22 | implementation fileTree(dir: 'libs', include: ['*.jar']) 23 | implementation 'com.android.support:appcompat-v7:27.1.0' 24 | testImplementation 'junit:junit:4.12' 25 | androidTestImplementation 'com.android.support.test:runner:1.0.1' 26 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' 27 | implementation 'com.patrickpissurno:ripple-effect:1.3.1' 28 | implementation 'com.google.code.gson:gson:2.8.5' 29 | implementation 'commons-codec:commons-codec:1.6' 30 | implementation 'com.jakewharton:disklrucache:2.0.2' 31 | implementation 'com.github.bumptech.glide:glide:3.7.0' 32 | implementation 'jp.wasabeef:glide-transformations:2.0.1' 33 | debugImplementation 'com.amitshekhar.android:debug-db:1.0.0' 34 | debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5.4' 35 | } 36 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /app/src/androidTest/java/cn/deepkolos/simplemusic3/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumented test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("cn.deepkolos.simplemusic3", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Http/Download.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Http; 2 | 3 | import android.graphics.Bitmap; 4 | import android.graphics.BitmapFactory; 5 | 6 | import java.io.BufferedReader; 7 | import java.io.IOException; 8 | import java.io.InputStreamReader; 9 | import java.net.HttpURLConnection; 10 | import java.net.URL; 11 | public class Download { 12 | public static Bitmap image (String url) { 13 | try { 14 | URL curl = new URL(url); 15 | HttpURLConnection conn = (HttpURLConnection) curl.openConnection(); 16 | conn.setRequestMethod("GET"); 17 | conn.setConnectTimeout(2000); 18 | return BitmapFactory.decodeStream(conn.getInputStream()); 19 | } catch (IOException e) { 20 | e.printStackTrace(); 21 | } 22 | 23 | return null; 24 | } 25 | 26 | public static String lyric (int songId) { 27 | return MusicApi.lyric(songId); 28 | } 29 | 30 | public static String mp3 (int songId) { 31 | StringBuffer result = new StringBuffer(); 32 | BufferedReader reader = null; 33 | try { 34 | URL curl = new URL(MusicApi.getSongSrc(songId)); 35 | HttpURLConnection conn = (HttpURLConnection) curl.openConnection(); 36 | conn.setRequestMethod("GET"); 37 | conn.setConnectTimeout(2000); 38 | 39 | reader = new BufferedReader(new InputStreamReader( 40 | conn.getInputStream())); 41 | 42 | String lines; 43 | while ((lines = reader.readLine()) != null) { 44 | lines = new String(lines.getBytes(), "utf-8"); 45 | result.append(lines); 46 | } 47 | 48 | return result.toString(); 49 | } catch (IOException e) { 50 | e.printStackTrace(); 51 | } finally { 52 | try { 53 | reader.close(); 54 | } catch (IOException e) { 55 | e.printStackTrace(); 56 | } 57 | } 58 | 59 | return null; 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Model/ListInfo.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Model; 2 | 3 | import cn.deepkolos.simplemusic3.State.LocalSongListState; 4 | 5 | public class ListInfo { 6 | public String listId; 7 | public String name; 8 | public String desc; 9 | public String coverSrc; 10 | public int type; 11 | public LocalSongListState localSongListState; 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Model/Raw/BannerRaw.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Model.Raw; 2 | 3 | public class BannerRaw { 4 | public Banner[] banners; 5 | 6 | public static class Banner { 7 | public String picUrl; 8 | public String targetId; 9 | public String targetType; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Model/Raw/HotMusicList.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Model.Raw; 2 | 3 | public class HotMusicList { 4 | public String cat; 5 | public List[] playlists; 6 | 7 | public static class List { 8 | public int playCount; 9 | public String id; 10 | public String name; 11 | public Creator creator; 12 | public String coverImgUrl; 13 | 14 | public static class Creator { 15 | public String nickname; 16 | public String avatarUrl; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Model/Raw/LyricRaw.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Model.Raw; 2 | 3 | public class LyricRaw { 4 | public Lrc lrc; 5 | 6 | public static class Lrc { 7 | public String lyric; 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Model/Raw/PlaylistRaw.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Model.Raw; 2 | 3 | public class PlaylistRaw { 4 | public Playlist playlist; 5 | 6 | 7 | public static class Playlist { 8 | public String name; 9 | public String coverImgUrl; 10 | public int subscribedCount; 11 | public SongRaw.Songs[] tracks; 12 | public HotMusicList.List.Creator creator; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Model/Raw/SongRaw.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Model.Raw; 2 | 3 | public class SongRaw { 4 | public Songs[] songs; 5 | 6 | public static class Songs { 7 | public int id; 8 | public String name; 9 | public AL al; 10 | public AR[] ar; 11 | public int fee; 12 | public H h; 13 | public int mv; 14 | 15 | public static class AL { 16 | public String picUrl; 17 | } 18 | 19 | public static class AR { 20 | public int id; 21 | public String name; 22 | } 23 | 24 | public static class H { 25 | public int br; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Model/Song.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Model; 2 | 3 | import cn.deepkolos.simplemusic3.Model.Raw.SongRaw; 4 | 5 | public class Song { 6 | public int songId; 7 | public String singerId; 8 | public String name; 9 | public String singer; 10 | public String coverSrc; 11 | 12 | public boolean isLocal; 13 | public boolean canPlay; 14 | public boolean downloaded = false; // 下载的状态是否需要缓存? 15 | public boolean SQ; 16 | public boolean hasMv; 17 | 18 | public Song() {} 19 | 20 | public Song(int songId, String singerId, String name, String singer, String coverSrc, boolean isLocal) { 21 | this.songId = songId; 22 | this.singerId = singerId; 23 | this.name = name; 24 | this.singer = singer; 25 | this.coverSrc = coverSrc; 26 | this.isLocal = isLocal; 27 | } 28 | 29 | public static Song from(SongRaw songRaw) { 30 | SongRaw.Songs songs = songRaw.songs[0]; 31 | return from(songs); 32 | } 33 | 34 | public static Song from (SongRaw.Songs songs) { 35 | Song song = new Song(); 36 | try { 37 | song.songId = songs.id; 38 | song.coverSrc = songs.al.picUrl; 39 | song.name = songs.name; 40 | 41 | StringBuilder singerBuilder = new StringBuilder(); 42 | StringBuilder singerIdBuilder = new StringBuilder(); 43 | 44 | for (int i = 0; i < songs.ar.length; i++ ){ 45 | singerBuilder.append(songs.ar[i].name); 46 | singerIdBuilder.append(songs.ar[i].id); 47 | 48 | if (i != songs.ar.length-1) { 49 | singerBuilder.append("/"); 50 | singerIdBuilder.append("/"); 51 | } 52 | } 53 | 54 | song.singer = singerBuilder.toString(); 55 | song.singerId = singerIdBuilder.toString(); 56 | song.canPlay = songs.fee == 0; 57 | song.SQ = songs.h != null; 58 | song.hasMv = songs.mv != 0; 59 | // todo 60 | // song.IS_LOCAL 打算从磁盘获取 61 | 62 | return song; 63 | } catch (Exception ignored) {} 64 | 65 | return null; 66 | } 67 | 68 | @Override 69 | public boolean equals(Object obj) { 70 | if (obj instanceof Song) { 71 | Song target = (Song) obj; 72 | return target.songId == songId; 73 | } 74 | return false; 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Page/CloudMusic/FriendsFragment.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Page.CloudMusic; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.NonNull; 5 | import android.support.annotation.Nullable; 6 | import android.view.LayoutInflater; 7 | import android.view.View; 8 | import android.view.ViewGroup; 9 | 10 | import cn.deepkolos.simplemusic3.Page.Utils.ViewPagerFragment; 11 | import cn.deepkolos.simplemusic3.R; 12 | 13 | public class FriendsFragment extends ViewPagerFragment { 14 | @Nullable 15 | @Override 16 | public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 17 | View view = inflater.inflate(R.layout.fragment_not_get_done, container, false); 18 | return view; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Page/CloudMusic/RadioStationFragment.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Page.CloudMusic; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.NonNull; 5 | import android.support.annotation.Nullable; 6 | import android.view.LayoutInflater; 7 | import android.view.View; 8 | import android.view.ViewGroup; 9 | 10 | import cn.deepkolos.simplemusic3.Page.Utils.ViewPagerFragment; 11 | import cn.deepkolos.simplemusic3.R; 12 | 13 | public class RadioStationFragment extends ViewPagerFragment { 14 | @Nullable 15 | @Override 16 | public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 17 | View view = inflater.inflate(R.layout.fragment_not_get_done, container, false); 18 | return view; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Page/RadioPlayerActivity.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Page; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | 6 | import cn.deepkolos.simplemusic3.R; 7 | 8 | public class RadioPlayerActivity extends TopBarActivity { 9 | @Override 10 | protected void onCreate(@Nullable Bundle savedInstanceState) { 11 | super.onCreate(savedInstanceState); 12 | setContentView(R.layout.activity_radio_player); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Page/TopBarActivity.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Page; 2 | 3 | import android.support.v4.app.FragmentActivity; 4 | import android.view.View; 5 | 6 | public class TopBarActivity extends FragmentActivity { 7 | public void backBtnClick(View view) { 8 | onBackPressed(); 9 | } 10 | 11 | public void onSearchBtnClick (View view) { 12 | 13 | } 14 | 15 | public void onMenuBtnClick (View view) { 16 | 17 | } 18 | 19 | public void onShareBtnClick (View view) { 20 | 21 | } 22 | 23 | public View getRootView () { 24 | return getWindow().getDecorView().findViewById(android.R.id.content); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Page/Utils/ViewPagerFragment.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Page.Utils; 2 | 3 | import android.support.v4.app.Fragment; 4 | 5 | public class ViewPagerFragment extends Fragment { 6 | private boolean isFirstSelected = false; 7 | 8 | public void onFirstSelected() {} 9 | 10 | public void onSelected () {} 11 | 12 | public void onSelectedListener () { 13 | if (!isFirstSelected) { 14 | isFirstSelected = true; 15 | onFirstSelected(); 16 | } 17 | 18 | onSelected(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Page/WellcomeActivity.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Page; 2 | 3 | import android.app.Activity; 4 | 5 | public class WellcomeActivity extends Activity { 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/State/BaseState.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.State; 2 | 3 | import android.content.Context; 4 | import android.util.ArrayMap; 5 | 6 | import java.lang.ref.WeakReference; 7 | import java.util.ArrayList; 8 | import java.util.Iterator; 9 | 10 | public abstract class BaseState { 11 | protected static WeakReference contextRef; 12 | private static ArrayMap> map = new ArrayMap<>(); 13 | protected OnUpdateFunc onUpdate; 14 | 15 | public static void setContext(Context context) { 16 | contextRef = new WeakReference<>(context); 17 | } 18 | private static void subscribe (Class type, BaseState obj) { 19 | ArrayList list = map.get(type); 20 | 21 | if (list == null) { 22 | list = new ArrayList<>(); 23 | map.put(type, list); 24 | } 25 | 26 | list.add(obj); 27 | } 28 | 29 | private static void unSubscribe (Class type, BaseState obj) { 30 | ArrayList list = map.get(type); 31 | 32 | if (list == null) return; 33 | 34 | list.remove(obj); 35 | } 36 | 37 | private static void broadcast (Class type) { 38 | ArrayList list = map.get(type); 39 | 40 | if (list == null) return; 41 | 42 | Iterator iterator = list.iterator(); 43 | while (iterator.hasNext()) { 44 | BaseState state = iterator.next(); 45 | state.notifyDataChanged(false); 46 | } 47 | } 48 | 49 | public void setOnUpdate(OnUpdateFunc onUpdate) { 50 | this.onUpdate = onUpdate; 51 | } 52 | 53 | public void subscribe () { 54 | subscribe(this.getClass(), this); 55 | } 56 | 57 | public void unSubscribe () { 58 | unSubscribe(this.getClass(), this); 59 | } 60 | 61 | public void notifyToAll () { 62 | broadcast(this.getClass()); 63 | } 64 | 65 | public void notifyDataChanged(boolean force) { 66 | if (this.onUpdate != null) 67 | this.onUpdate.call(); 68 | } 69 | 70 | public interface OnUpdateFunc { 71 | void call (); 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/State/PlayState.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.State; 2 | 3 | public class PlayState extends BaseState implements State { 4 | private static Boolean latestState = false; 5 | 6 | @Override 7 | public Boolean get() { 8 | return latestState; 9 | } 10 | 11 | @Override 12 | public void set(Boolean val) { 13 | latestState = val; 14 | notifyToAll(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/State/PlayingSongState.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.State; 2 | 3 | import android.content.Context; 4 | import android.content.SharedPreferences; 5 | 6 | import cn.deepkolos.simplemusic3.Model.Song; 7 | 8 | import static cn.deepkolos.simplemusic3.State.SongState.Table; 9 | 10 | public class PlayingSongState extends BaseState implements State{ 11 | private static String SP_NAME = "playingSongState"; 12 | private static Song latestState; 13 | 14 | @Override 15 | public synchronized Song get() { 16 | if (latestState == null) { 17 | SharedPreferences sp = BaseState.contextRef.get().getSharedPreferences(SP_NAME, Context.MODE_PRIVATE); 18 | Song song = new Song(); 19 | song.name = sp.getString(Table.Cols.NAME, ""); 20 | song.singer = sp.getString(Table.Cols.SINGER, ""); 21 | song.songId = sp.getInt(Table.Cols.SONG_ID, -1); 22 | song.singerId = sp.getString(Table.Cols.SINGER_ID, ""); 23 | song.coverSrc = sp.getString(Table.Cols.COVER_SRC, ""); 24 | 25 | if (song.songId == -1) 26 | return null; 27 | 28 | latestState = song; 29 | } 30 | return latestState; 31 | } 32 | 33 | @Override 34 | public void set(final Song val) { 35 | latestState = val; 36 | notifyToAll(); 37 | 38 | new Thread(new Runnable() { 39 | @Override 40 | public void run() { 41 | SharedPreferences sp = BaseState.contextRef.get().getSharedPreferences(SP_NAME, Context.MODE_PRIVATE); 42 | SharedPreferences.Editor editor = sp.edit(); 43 | 44 | editor.putString(Table.Cols.NAME, val.name); 45 | editor.putString(Table.Cols.SINGER, val.singer); 46 | editor.putInt(Table.Cols.SONG_ID, val.songId); 47 | editor.putString(Table.Cols.SINGER_ID, val.singerId); 48 | editor.putString(Table.Cols.COVER_SRC, val.coverSrc); 49 | editor.apply(); 50 | } 51 | }).start(); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/State/State.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.State; 2 | 3 | public interface State { 4 | T get (); 5 | void set (T val); 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Storage/BaseStore.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Storage; 2 | 3 | import android.content.Context; 4 | 5 | import cn.deepkolos.simplemusic3.Storage.Cache.ImageCache; 6 | import cn.deepkolos.simplemusic3.Storage.Loader.ImageLoader; 7 | import cn.deepkolos.simplemusic3.Storage.Store.CoverStore; 8 | import cn.deepkolos.simplemusic3.Storage.Store.LyricStore; 9 | import cn.deepkolos.simplemusic3.Storage.Store.SongStore; 10 | 11 | public class BaseStore { 12 | public static final String BASE_PATH = "simpleMusic"; 13 | 14 | public static void init (final Context context) { 15 | new Thread(new Runnable() { 16 | @Override 17 | public void run() { 18 | CoverStore.init(); 19 | LyricStore.init(); 20 | SongStore.init(); 21 | ImageCache.init(context); 22 | ImageLoader.init(context); 23 | } 24 | }).start(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Storage/Cache/LyricCache.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Storage.Cache; 2 | 3 | public class LyricCache { 4 | } 5 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Storage/Cache/SongCache.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Storage.Cache; 2 | 3 | public class SongCache { 4 | } 5 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Storage/DB.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Storage; 2 | 3 | import android.content.Context; 4 | import android.database.sqlite.SQLiteDatabase; 5 | import android.database.sqlite.SQLiteOpenHelper; 6 | 7 | import java.lang.ref.WeakReference; 8 | 9 | import cn.deepkolos.simplemusic3.State.HistoryState; 10 | import cn.deepkolos.simplemusic3.State.PlayListState; 11 | import cn.deepkolos.simplemusic3.State.SongListSetState; 12 | import cn.deepkolos.simplemusic3.State.LocalSongListState; 13 | import cn.deepkolos.simplemusic3.State.SongState; 14 | 15 | public class DB extends SQLiteOpenHelper { 16 | private static DB instance; 17 | private static final String DB_NAME = "music.db"; 18 | private static WeakReference contextRef; 19 | 20 | private DB(Context context) { 21 | super(context, DB_NAME, null, 7); 22 | } 23 | 24 | public static void init (Context context) { 25 | contextRef = new WeakReference<>(context); 26 | } 27 | 28 | public static synchronized DB getInstance() { 29 | if (instance == null) 30 | instance = new DB(contextRef.get()); 31 | return instance; 32 | } 33 | 34 | @Override 35 | public void onCreate(SQLiteDatabase db) { 36 | new SongState.InitSql().onCreate(db); 37 | new HistoryState.InitSql().onCreate(db); 38 | new PlayListState.InitSql().onCreate(db); 39 | new LocalSongListState.InitSql().onCreate(db); 40 | new SongListSetState.InitSql().onCreate(db); 41 | } 42 | 43 | @Override 44 | public void onUpgrade(SQLiteDatabase db, int i, int i1) { 45 | new SongState.InitSql().onUpgrade(db, i, i1); 46 | new HistoryState.InitSql().onUpgrade(db, i, i1); 47 | new PlayListState.InitSql().onUpgrade(db,i ,i1); 48 | new LocalSongListState.InitSql().onUpgrade(db, i, i1); 49 | new SongListSetState.InitSql().onUpgrade(db, i, i1); 50 | } 51 | 52 | public interface SqlEvent { 53 | void onCreate(SQLiteDatabase db); 54 | void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Storage/Loader/LyricLoader.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Storage.Loader; 2 | 3 | import cn.deepkolos.simplemusic3.Http.Download; 4 | import cn.deepkolos.simplemusic3.Model.Song; 5 | import cn.deepkolos.simplemusic3.Storage.Store.LyricStore; 6 | 7 | public class LyricLoader { 8 | public static String get (Song song) { 9 | String lyric; 10 | 11 | // 专用缓存 12 | lyric = LyricStore.get(song.name, song.singer); 13 | if (lyric != null) return lyric; 14 | 15 | lyric = Download.lyric(song.songId); 16 | 17 | if (lyric != null && song.isLocal) { 18 | // 如果是已经在自检歌单的歌词就添加到缓存 19 | LyricStore.add(song.name, song.singer, lyric); 20 | } 21 | 22 | return lyric; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Storage/Loader/SongLoader.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Storage.Loader; 2 | 3 | import android.net.Uri; 4 | 5 | import cn.deepkolos.simplemusic3.Http.Download; 6 | import cn.deepkolos.simplemusic3.Http.MusicApi; 7 | import cn.deepkolos.simplemusic3.Model.Song; 8 | import cn.deepkolos.simplemusic3.Storage.Store.SongStore; 9 | 10 | public class SongLoader { 11 | 12 | public static Uri get (Song song) { 13 | Uri uri; 14 | String str; 15 | 16 | // 下载的歌曲 17 | uri = SongStore.get(song.name, song.singer); 18 | if (uri != null) return uri; 19 | 20 | // 网络Uri 21 | uri = Uri.parse(MusicApi.getSongSrc(song.songId)); 22 | 23 | return uri; 24 | } 25 | 26 | public static boolean add (Song song) { 27 | String mp3 = Download.mp3(song.songId); 28 | 29 | if (mp3 != null) { 30 | SongStore.add(song.name, song.singer, mp3); 31 | return true; 32 | } 33 | 34 | return false; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Storage/Store/CoverStore.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Storage.Store; 2 | 3 | import android.graphics.Bitmap; 4 | import android.graphics.BitmapFactory; 5 | import android.os.Environment; 6 | 7 | import java.io.BufferedOutputStream; 8 | import java.io.File; 9 | import java.io.FileOutputStream; 10 | import java.io.IOException; 11 | 12 | import cn.deepkolos.simplemusic3.Storage.BaseStore; 13 | 14 | public class CoverStore { 15 | private static final String COVER_PATH = BaseStore.BASE_PATH+"/cover"; 16 | private static String coverPath; 17 | 18 | public static void init () { 19 | File root = Environment.getExternalStorageDirectory(); 20 | File cover = new File(root.getAbsolutePath() + "/" + COVER_PATH); 21 | if (!cover.exists()) cover.mkdirs(); 22 | 23 | coverPath = cover.getAbsolutePath(); 24 | } 25 | 26 | public static Bitmap get (String name, String singer) { 27 | String path = coverPath + "/" + getCoverFileName(name, singer); 28 | 29 | return BitmapFactory.decodeFile(path); 30 | } 31 | 32 | public static void add (final String name, final String singer, final Bitmap bitmap) { 33 | new Thread(new Runnable() { 34 | @Override 35 | public void run() { 36 | File cover = new File(coverPath + "/" + getCoverFileName(name, singer)); 37 | 38 | if (!cover.exists() && cover.canWrite()) { 39 | try { 40 | if (cover.createNewFile()) { 41 | BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(cover)); 42 | bitmap.compress(Bitmap.CompressFormat.JPEG, 80, bos); 43 | bos.flush(); 44 | bos.close(); 45 | } 46 | } catch (IOException e) { 47 | e.printStackTrace(); 48 | } 49 | } 50 | } 51 | }).start(); 52 | } 53 | 54 | public static boolean remove (String name, String singer) { 55 | File cover = new File(coverPath + "/" + getCoverFileName(name,singer)); 56 | 57 | return cover.exists() && cover.delete(); 58 | } 59 | 60 | public static String getCoverFileName(String name, String singer) { 61 | return name + " - " + singer + ".jpg"; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Storage/Store/SongStore.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Storage.Store; 2 | 3 | import android.net.Uri; 4 | import android.os.Environment; 5 | 6 | import java.io.File; 7 | import java.io.FileWriter; 8 | import java.io.IOException; 9 | 10 | import cn.deepkolos.simplemusic3.Storage.BaseStore; 11 | 12 | public class SongStore { 13 | private static final String SONG_PATH = BaseStore.BASE_PATH+"/song"; 14 | private static String songPath; 15 | 16 | public static void init () { 17 | File root = Environment.getExternalStorageDirectory(); 18 | File song = new File(root.getAbsolutePath() + "/" + SONG_PATH); 19 | if (!song.exists()) song.mkdirs(); 20 | 21 | songPath = song.getAbsolutePath(); 22 | } 23 | 24 | public static Uri get (String name, String singer) { 25 | File song = new File(songPath + "/" + getSongFileName(name, singer)); 26 | 27 | if (song.exists()) 28 | return Uri.fromFile(song); 29 | 30 | return null; 31 | } 32 | 33 | public static void add (final String name, final String singer, final String content) { 34 | new Thread(new Runnable() { 35 | @Override 36 | public void run() { 37 | File song = new File(songPath + "/" + getSongFileName(name, singer)); 38 | 39 | if (!song.exists() && song.canWrite()) { 40 | try { 41 | song.createNewFile(); 42 | FileWriter writer = new FileWriter(song); 43 | writer.write(content); 44 | } catch (IOException e) { 45 | e.printStackTrace(); 46 | } 47 | } 48 | } 49 | }).start(); 50 | } 51 | 52 | public static boolean remove (String name, String singer) { 53 | File song = new File(songPath + "/" + getSongFileName(name,singer)); 54 | 55 | return song.exists() && song.delete(); 56 | } 57 | 58 | public static String getSongFileName(String name, String singer) { 59 | return name + " - " + singer + ".mp3"; 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Utils/Callback.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Utils; 2 | 3 | public interface Callback { 4 | void call(T val); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Utils/NumberUtils.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Utils; 2 | 3 | public class NumberUtils { 4 | public static String shorten (int num) { 5 | if (num < 1000) 6 | return num+""; 7 | 8 | if (num < 10000) 9 | return (num/1000) + "K"; 10 | 11 | return (num/10000)+"W"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Utils/RippleHelper.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Utils; 2 | 3 | import android.content.Context; 4 | import android.view.View; 5 | 6 | import cn.deepkolos.simplemusic3.R; 7 | 8 | public class RippleHelper { 9 | public static void applyBtn (View view, Context context) { 10 | view.setFocusable(true); 11 | view.setClickable(true); 12 | view.setBackground(context.getDrawable(R.drawable.ripple_27_btn)); 13 | } 14 | 15 | public static void applyBar (View view, Context context) { 16 | view.setFocusable(true); 17 | view.setClickable(true); 18 | view.setBackground(context.getDrawable(R.drawable.ripple_bar)); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Utils/StringUtils.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Utils; 2 | 3 | import java.security.MessageDigest; 4 | import java.security.NoSuchAlgorithmException; 5 | 6 | public class StringUtils { 7 | public static String hashKeyForDisk(String key) { 8 | String cacheKey; 9 | try { 10 | final MessageDigest mDigest = MessageDigest.getInstance("MD5"); 11 | mDigest.update(key.getBytes()); 12 | cacheKey = bytesToHexString(mDigest.digest()); 13 | } catch (NoSuchAlgorithmException e) { 14 | cacheKey = String.valueOf(key.hashCode()); 15 | } 16 | return cacheKey; 17 | } 18 | 19 | private static String bytesToHexString(byte[] bytes) { 20 | StringBuilder sb = new StringBuilder(); 21 | for (int i = 0; i < bytes.length; i++) { 22 | String hex = Integer.toHexString(0xFF & bytes[i]); 23 | if (hex.length() == 1) { 24 | sb.append('0'); 25 | } 26 | sb.append(hex); 27 | } 28 | return sb.toString(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Utils/UnitHelper.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Utils; 2 | 3 | import android.content.Context; 4 | import android.util.DisplayMetrics; 5 | 6 | public class UnitHelper { 7 | static float density; 8 | static float scaledDensity; 9 | static int heightPixels; 10 | static int widthPixels; 11 | 12 | 13 | public static void init (Context context) { 14 | DisplayMetrics metrics = context.getResources().getDisplayMetrics(); 15 | density = metrics.density; 16 | scaledDensity = metrics.scaledDensity; 17 | widthPixels = metrics.widthPixels; 18 | heightPixels = metrics.heightPixels; 19 | } 20 | 21 | public static int dpToPx(float dp) { 22 | return Math.round(dp * density); 23 | } 24 | 25 | public static float spToPx(float sp) { 26 | return sp * scaledDensity; 27 | } 28 | 29 | public static int getScreenHeight () { 30 | return heightPixels; 31 | } 32 | 33 | public static int getScreenWidth () { 34 | return widthPixels; 35 | } 36 | 37 | public static float getDensity() { 38 | return density; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/BottomPopupWithListView.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget; 2 | 3 | import android.content.Context; 4 | import android.view.LayoutInflater; 5 | import android.view.View; 6 | import android.view.ViewGroup; 7 | import android.widget.ListView; 8 | 9 | import cn.deepkolos.simplemusic3.R; 10 | import cn.deepkolos.simplemusic3.Utils.UiUtils; 11 | 12 | public class BottomPopupWithListView extends BottomPopup { 13 | private ListView $listView; 14 | 15 | public BottomPopupWithListView(Context context, View contentView) { 16 | super(context, contentView); 17 | } 18 | 19 | @Override 20 | public void setContent(View view) { } 21 | 22 | public ListView getListView () { 23 | return $listView; 24 | } 25 | 26 | @Override 27 | public int getScrollViewScrollY() { 28 | return UiUtils.getListViewScrollY($listView); 29 | } 30 | 31 | @Override 32 | protected void initContent(View view) { 33 | $maxLayout = (ViewGroup) LayoutInflater.from(context).inflate(R.layout.view_bottom_popup_content_listview, null, false); 34 | $listView = $maxLayout.findViewById(R.id.view_bottom_popup_listView); 35 | $listView.setOnScrollListener(new UiUtils.ListViewOnScrollY() { 36 | @Override 37 | public void onScroll(int scrollY) { 38 | if (scrollY == 0) 39 | $listView.scrollTo(0, 0); 40 | } 41 | }); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/Button/AlbumButton.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget.Button; 2 | 3 | import android.content.Context; 4 | import android.content.res.TypedArray; 5 | import android.graphics.Bitmap; 6 | import android.graphics.drawable.Drawable; 7 | import android.support.annotation.Nullable; 8 | import android.util.AttributeSet; 9 | import android.view.LayoutInflater; 10 | import android.widget.ImageView; 11 | import android.widget.LinearLayout; 12 | import android.widget.TextView; 13 | 14 | import cn.deepkolos.simplemusic3.R; 15 | 16 | public class AlbumButton extends LinearLayout { 17 | ImageView imageView; 18 | TextView textView; 19 | 20 | public AlbumButton(Context context) { 21 | super(context); 22 | init(context); 23 | } 24 | 25 | public AlbumButton(Context context, @Nullable AttributeSet attrs) { 26 | super(context, attrs); 27 | init(context); 28 | 29 | TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.IconTitleAttrs); 30 | String title = ta.getString(R.styleable.IconTitleAttrs_title); 31 | Drawable icon = ta.getDrawable(R.styleable.IconTitleAttrs_icon); 32 | 33 | setIcon(icon); 34 | setTitle(title); 35 | ta.recycle(); 36 | } 37 | 38 | private void init (Context context) { 39 | LayoutInflater.from(context).inflate(R.layout.view_album_button, this, true); 40 | imageView = findViewById(R.id.view_icon_btn_icon); 41 | textView = findViewById(R.id.view_icon_btn_text); 42 | } 43 | 44 | public void setIcon (Drawable icon) { 45 | if (icon != null) 46 | imageView.setImageDrawable(icon); 47 | } 48 | 49 | public void setIcon (Bitmap icon) { 50 | if (icon != null) 51 | imageView.setImageBitmap(icon); 52 | } 53 | 54 | public void setTitle (String title) { 55 | textView.setText(title); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/Button/CircleIconButton.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget.Button; 2 | 3 | import android.content.Context; 4 | import android.content.res.TypedArray; 5 | import android.graphics.Bitmap; 6 | import android.graphics.drawable.Drawable; 7 | import android.support.annotation.Nullable; 8 | import android.util.AttributeSet; 9 | import android.view.LayoutInflater; 10 | import android.widget.ImageView; 11 | import android.widget.LinearLayout; 12 | import android.widget.TextView; 13 | 14 | import cn.deepkolos.simplemusic3.R; 15 | 16 | public class CircleIconButton extends LinearLayout { 17 | ImageView imageView; 18 | TextView textView; 19 | 20 | public CircleIconButton(Context context) { 21 | super(context); 22 | init(context); 23 | } 24 | 25 | public CircleIconButton(Context context, @Nullable AttributeSet attrs) { 26 | super(context, attrs); 27 | init(context); 28 | 29 | TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.IconTitleAttrs); 30 | String title = ta.getString(R.styleable.IconTitleAttrs_title); 31 | Drawable icon = ta.getDrawable(R.styleable.IconTitleAttrs_icon); 32 | 33 | setIcon(icon); 34 | setTitle(title); 35 | ta.recycle(); 36 | } 37 | 38 | private void init (Context context) { 39 | LayoutInflater.from(context).inflate(R.layout.view_circle_icon_btn, this, true); 40 | imageView = findViewById(R.id.view_icon_btn_icon); 41 | textView = findViewById(R.id.view_icon_btn_text); 42 | } 43 | 44 | public void setIcon (Drawable icon) { 45 | if (icon != null) 46 | imageView.setImageDrawable(icon); 47 | } 48 | 49 | public void setIcon (Bitmap icon) { 50 | if (icon != null) 51 | imageView.setImageBitmap(icon); 52 | } 53 | 54 | public void setTitle (String title) { 55 | textView.setText(title); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/Button/IconTitleButton.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget.Button; 2 | 3 | import android.content.Context; 4 | import android.content.res.TypedArray; 5 | import android.graphics.Bitmap; 6 | import android.graphics.drawable.Drawable; 7 | import android.support.annotation.Nullable; 8 | import android.util.AttributeSet; 9 | import android.view.LayoutInflater; 10 | import android.widget.ImageView; 11 | import android.widget.LinearLayout; 12 | import android.widget.TextView; 13 | 14 | import cn.deepkolos.simplemusic3.R; 15 | 16 | public class IconTitleButton extends LinearLayout { 17 | ImageView imageView; 18 | TextView textView; 19 | int layoutId; 20 | 21 | public IconTitleButton(Context context, int layoutId) { 22 | super(context); 23 | 24 | this.layoutId = layoutId; 25 | init(context); 26 | } 27 | 28 | public IconTitleButton(Context context, @Nullable AttributeSet attrs) { 29 | super(context, attrs); 30 | 31 | TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.IconTitleAttrs); 32 | String title = ta.getString(R.styleable.IconTitleAttrs_title); 33 | Drawable icon = ta.getDrawable(R.styleable.IconTitleAttrs_icon); 34 | layoutId = ta.getResourceId(R.styleable.IconTitleAttrs_layout, -1); 35 | 36 | init(context); 37 | setIcon(icon); 38 | setTitle(title); 39 | ta.recycle(); 40 | } 41 | 42 | private void init (Context context) { 43 | LayoutInflater.from(context).inflate(layoutId, this, true); 44 | imageView = findViewById(R.id.view_icon_btn_icon); 45 | textView = findViewById(R.id.view_icon_btn_text); 46 | } 47 | 48 | public void setIcon (Drawable icon) { 49 | if (icon != null) 50 | imageView.setImageDrawable(icon); 51 | } 52 | 53 | public void setIcon (Bitmap icon) { 54 | if (icon != null) 55 | imageView.setImageBitmap(icon); 56 | } 57 | 58 | public void setTitle (String title) { 59 | textView.setText(title); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/Button/PlayListButton.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget.Button; 2 | 3 | import android.content.Context; 4 | import android.graphics.Canvas; 5 | import android.graphics.Color; 6 | import android.graphics.Paint; 7 | import android.graphics.Path; 8 | import android.support.annotation.Nullable; 9 | import android.util.AttributeSet; 10 | import android.view.View; 11 | import static cn.deepkolos.simplemusic3.Utils.UnitHelper.dpToPx; 12 | 13 | public class PlayListButton extends View { 14 | int color; 15 | static Paint paint = new Paint(); 16 | 17 | public PlayListButton(Context context, @Nullable AttributeSet attrs) { 18 | super(context, attrs); 19 | 20 | color = Color.rgb(76, 76, 76); 21 | } 22 | 23 | public void setColor(int color) { 24 | this.color = color; 25 | postInvalidate(); 26 | } 27 | 28 | @Override 29 | protected void onDraw(Canvas canvas) { 30 | super.onDraw(canvas); 31 | 32 | // 转换为数学坐标系 33 | canvas.translate(canvas.getWidth() / 2, canvas.getHeight() / 2); 34 | canvas.scale(1,-1); 35 | 36 | // 绘制小三角 37 | Path path = new Path(); 38 | 39 | path.moveTo(dpToPx(-10), dpToPx(9f)); 40 | path.rLineTo(0, dpToPx(-6)); 41 | path.rLineTo(dpToPx(4), dpToPx(3)); 42 | path.close(); 43 | 44 | paint.setStyle(Paint.Style.FILL); 45 | paint.setColor(color); 46 | paint.setStrokeWidth(dpToPx(1)); 47 | paint.setAntiAlias(true); 48 | 49 | canvas.drawPath(path, paint); 50 | 51 | // 绘制线 52 | paint.setStyle(Paint.Style.STROKE); 53 | Path line = new Path(); 54 | line.moveTo(dpToPx(-2), dpToPx(6)); 55 | line.rLineTo(dpToPx(12),0); 56 | 57 | line.moveTo(dpToPx(-10), dpToPx(-0.8f)); 58 | line.rLineTo(dpToPx(20),0); 59 | 60 | line.moveTo(dpToPx(-10), dpToPx(-7)); 61 | line.rLineTo(dpToPx(20),0); 62 | 63 | canvas.drawPath(line, paint); 64 | 65 | // 恢复原有坐标, 防止ripple位置跑偏 66 | canvas.scale(1,1); 67 | canvas.translate(-canvas.getWidth() / 2, -canvas.getHeight()/ 2); 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/CarouselItem.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget; 2 | 3 | import android.content.Context; 4 | import android.graphics.Bitmap; 5 | import android.view.ViewGroup; 6 | import android.widget.ImageView; 7 | import android.widget.LinearLayout; 8 | 9 | import cn.deepkolos.simplemusic3.Utils.UnitHelper; 10 | import cn.deepkolos.simplemusic3.Widget.Layout.ClipFrameLayout; 11 | 12 | public class CarouselItem extends ClipFrameLayout { 13 | private ImageView imageView; 14 | private int playlistId = -1; 15 | 16 | public CarouselItem(Context context) { 17 | super(context); 18 | 19 | LinearLayout linearLayout = new LinearLayout(getContext()); 20 | imageView = new ImageView(getContext()); 21 | 22 | LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); 23 | params.leftMargin = UnitHelper.dpToPx(6); 24 | params.rightMargin = UnitHelper.dpToPx(6); 25 | imageView.setLayoutParams(params); 26 | 27 | linearLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)); 28 | linearLayout.addView(imageView); 29 | 30 | setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); 31 | setRadius(UnitHelper.dpToPx(5)); 32 | setInset(UnitHelper.dpToPx(6), 0, UnitHelper.dpToPx(6), 0); 33 | addView(linearLayout); 34 | } 35 | 36 | public void setImage (Bitmap bitmap) { 37 | imageView.setImageBitmap(bitmap); 38 | } 39 | 40 | public int getPlaylistId() { 41 | return playlistId; 42 | } 43 | 44 | public void setPlaylistId(int playlistId) { 45 | this.playlistId = playlistId; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/Dialog/CreateSongListDialog.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget.Dialog; 2 | 3 | import android.content.Context; 4 | import android.content.DialogInterface; 5 | import android.support.v7.app.AlertDialog; 6 | import android.view.LayoutInflater; 7 | import android.view.View; 8 | import android.view.WindowManager; 9 | import android.widget.EditText; 10 | 11 | import cn.deepkolos.simplemusic3.R; 12 | import cn.deepkolos.simplemusic3.Utils.Callback; 13 | import cn.deepkolos.simplemusic3.Utils.UnitHelper; 14 | 15 | public class CreateSongListDialog { 16 | private Callback callback; 17 | private AlertDialog dialog; 18 | 19 | public CreateSongListDialog(final Context context) { 20 | AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.Theme_AppCompat_Light_Dialog); 21 | final View dialogView = LayoutInflater.from(context).inflate(R.layout.dialog_create_songlist, null); 22 | builder.setTitle("创建歌单"); 23 | builder.setView(dialogView); 24 | 25 | builder.setPositiveButton("确定", 26 | new DialogInterface.OnClickListener() { 27 | @Override 28 | public void onClick(DialogInterface dialog, int which) { 29 | EditText edit_text = dialogView.findViewById(R.id.dialog_create_songlist_name); 30 | if (callback != null) 31 | callback.call(edit_text.getText().toString()); 32 | } 33 | }); 34 | 35 | dialog = builder.create(); 36 | } 37 | 38 | public void setOnConfirm (Callback callback) { 39 | this.callback = callback; 40 | } 41 | 42 | public void show () { 43 | dialog.show(); 44 | WindowManager.LayoutParams params = dialog.getWindow().getAttributes(); 45 | params.width = UnitHelper.dpToPx(200); 46 | dialog.getWindow().setAttributes(params); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/Dialog/SelectSongListDialog.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget.Dialog; 2 | 3 | import android.content.Context; 4 | import android.content.DialogInterface; 5 | import android.support.v7.app.AlertDialog; 6 | 7 | import cn.deepkolos.simplemusic3.Model.Song; 8 | import cn.deepkolos.simplemusic3.R; 9 | import cn.deepkolos.simplemusic3.State.SongListSetState; 10 | 11 | public class SelectSongListDialog { 12 | private AlertDialog dialog; 13 | private Song song; 14 | 15 | public SelectSongListDialog(final Context context) { 16 | final SongListSetState setState = new SongListSetState(); 17 | 18 | final String[] items = new String[setState.get().size()]; 19 | for (int i = 0; i < items.length; i++ ) 20 | items[i] = setState.get().get(i).name; 21 | 22 | AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.Theme_AppCompat_Light_Dialog); 23 | builder.setTitle("收藏到歌单"); 24 | 25 | // 第二个参数是默认选项,此处设置为0 26 | builder.setSingleChoiceItems(items, -1, 27 | new DialogInterface.OnClickListener() { 28 | @Override 29 | public void onClick(DialogInterface dialog, int which) { 30 | setState.get().get(which).localSongListState.add(song); 31 | setState.get().get(which).localSongListState.notifyToAll(); 32 | dialog.dismiss(); 33 | } 34 | }); 35 | dialog = builder.create(); 36 | } 37 | 38 | public void setSong(Song song) { 39 | this.song = song; 40 | } 41 | 42 | public void show () { 43 | dialog.show(); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/Layout/MaxLayout.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget.Layout; 2 | 3 | import android.content.Context; 4 | import android.content.res.TypedArray; 5 | import android.support.annotation.Nullable; 6 | import android.util.AttributeSet; 7 | import android.widget.LinearLayout; 8 | 9 | import cn.deepkolos.simplemusic3.R; 10 | 11 | public class MaxLayout extends LinearLayout { 12 | private int mMaxHeight = -1; 13 | private int mMaxWidth = -1; 14 | // private int mMinHeight = -1; 15 | // private int mMinWidth = -1; 16 | 17 | public MaxLayout(Context context) { 18 | super(context); 19 | } 20 | 21 | public MaxLayout(Context context, @Nullable AttributeSet attrs) { 22 | super(context, attrs); 23 | 24 | TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.MaxMinHeightWidth); 25 | mMaxHeight = ta.getDimensionPixelOffset(R.styleable.MaxMinHeightWidth_maxHeight, -1); 26 | mMaxWidth = ta.getDimensionPixelOffset(R.styleable.MaxMinHeightWidth_maxWidth, -1); 27 | // mMinHeight = ta.getDimensionPixelOffset(R.styleable.MaxMinHeightWidth_minHeight, -1); 28 | // mMinWidth = ta.getDimensionPixelOffset(R.styleable.MaxMinHeightWidth_minWidth, -1); 29 | ta.recycle(); 30 | } 31 | 32 | public void setMaxHeight(int maxHeight) { 33 | mMaxHeight = maxHeight; 34 | } 35 | 36 | public void setMaxWidth (int maxWidth) { 37 | mMaxWidth = maxWidth; 38 | } 39 | 40 | // public void setMinHeight (int minHeight) { 41 | // mMinHeight = minHeight; 42 | // } 43 | // 44 | // public void setMinWidth (int minWidth) { 45 | // mMinWidth = minWidth; 46 | // } 47 | 48 | @Override 49 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 50 | if (mMaxHeight != -1) 51 | heightMeasureSpec = MeasureSpec.makeMeasureSpec(mMaxHeight, MeasureSpec.AT_MOST); 52 | if (mMaxWidth != -1) 53 | widthMeasureSpec = MeasureSpec.makeMeasureSpec(mMaxWidth, MeasureSpec.AT_MOST); 54 | 55 | super.onMeasure(widthMeasureSpec, heightMeasureSpec); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/Layout/MinLayout.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget.Layout; 2 | 3 | import android.content.Context; 4 | import android.content.res.TypedArray; 5 | import android.support.annotation.NonNull; 6 | import android.support.annotation.Nullable; 7 | import android.util.AttributeSet; 8 | import android.widget.FrameLayout; 9 | 10 | import cn.deepkolos.simplemusic3.R; 11 | 12 | public class MinLayout extends FrameLayout { 13 | private int mMinHeight = -1; 14 | private int mMinWidth = -1; 15 | 16 | public MinLayout(@NonNull Context context) { 17 | super(context); 18 | } 19 | 20 | public MinLayout(@NonNull Context context, @Nullable AttributeSet attrs) { 21 | super(context, attrs); 22 | 23 | TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.MaxMinHeightWidth); 24 | mMinHeight = ta.getDimensionPixelOffset(R.styleable.MaxMinHeightWidth_minHeight, -1); 25 | mMinWidth = ta.getDimensionPixelOffset(R.styleable.MaxMinHeightWidth_minWidth, -1); 26 | ta.recycle(); 27 | } 28 | 29 | public void setMinHeight (int minHeight) { 30 | mMinHeight = minHeight; 31 | } 32 | 33 | public void setMinWidth (int minWidth) { 34 | mMinWidth = minWidth; 35 | } 36 | 37 | @Override 38 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 39 | int modeH = MeasureSpec.getMode(heightMeasureSpec); 40 | int modeW = MeasureSpec.getMode(widthMeasureSpec); 41 | int sizeH = MeasureSpec.getSize(heightMeasureSpec); 42 | int sizeW = MeasureSpec.getSize(widthMeasureSpec); 43 | 44 | if (mMinHeight != -1 && modeH == MeasureSpec.AT_MOST && sizeH < mMinHeight) 45 | heightMeasureSpec = MeasureSpec.makeMeasureSpec(mMinHeight, MeasureSpec.AT_MOST); 46 | 47 | if (mMinWidth != -1 && modeW == MeasureSpec.AT_MOST && sizeW < mMinWidth) 48 | widthMeasureSpec = MeasureSpec.makeMeasureSpec(mMinWidth, MeasureSpec.AT_MOST); 49 | 50 | super.onMeasure(widthMeasureSpec, heightMeasureSpec); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/ListItem/WithCounterView.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget.ListItem; 2 | 3 | import android.content.Context; 4 | import android.content.res.TypedArray; 5 | import android.graphics.Bitmap; 6 | import android.graphics.drawable.Drawable; 7 | import android.support.annotation.Nullable; 8 | import android.util.AttributeSet; 9 | import android.view.LayoutInflater; 10 | import android.widget.ImageView; 11 | import android.widget.LinearLayout; 12 | import android.widget.TextView; 13 | 14 | import cn.deepkolos.simplemusic3.R; 15 | 16 | public class WithCounterView extends LinearLayout { 17 | ImageView iconIv; 18 | TextView titleTv; 19 | TextView countTv; 20 | 21 | public WithCounterView(Context context, @Nullable AttributeSet attrs) { 22 | super(context, attrs); 23 | 24 | setOrientation(HORIZONTAL); 25 | 26 | LayoutInflater.from(context).inflate(R.layout.view_list_of_songlist_item, this, true); 27 | iconIv = findViewById(R.id.songList_item_icon); 28 | titleTv = findViewById(R.id.songList_item_title); 29 | countTv = findViewById(R.id.songList_item_count); 30 | 31 | // 处理attrs 32 | TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.IconTitleAttrs); 33 | String title = ta.getString(R.styleable.IconTitleAttrs_title); 34 | int count = ta.getInt(R.styleable.IconTitleAttrs_count, 0); 35 | Drawable icon = ta.getDrawable(R.styleable.IconTitleAttrs_icon); 36 | ta.recycle(); 37 | 38 | setCount(count); 39 | setIcon(icon); 40 | setTitle(title); 41 | } 42 | 43 | public void setCount (int val) { 44 | String str = "("+val+")"; 45 | countTv.setText(str); 46 | } 47 | 48 | public void setTitle (String val) { 49 | titleTv.setText(val); 50 | } 51 | 52 | public void setIcon (Bitmap bitmap) { 53 | iconIv.setImageBitmap(bitmap); 54 | } 55 | 56 | public void setIcon (Drawable drawable) { 57 | iconIv.setImageDrawable(drawable); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/ListViewWrap.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.widget.ListView; 6 | 7 | public class ListViewWrap extends ListView { 8 | public ListViewWrap(Context context) { 9 | super(context); 10 | } 11 | 12 | public ListViewWrap(Context context, AttributeSet attrs) { 13 | super(context, attrs); 14 | } 15 | 16 | public ListViewWrap(Context context, AttributeSet attrs, int defStyleAttr) { 17 | super(context, attrs, defStyleAttr); 18 | } 19 | 20 | @Override 21 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 22 | int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE>>2, MeasureSpec.AT_MOST); 23 | super.onMeasure(widthMeasureSpec, expandSpec); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/MyScrollView.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.util.Log; 6 | import android.view.MotionEvent; 7 | import android.widget.ScrollView; 8 | 9 | public class MyScrollView extends ScrollView { 10 | public MyScrollView(Context context) { 11 | super(context); 12 | } 13 | 14 | public MyScrollView(Context context, AttributeSet attrs) { 15 | super(context, attrs); 16 | } 17 | 18 | @Override 19 | public boolean onTouchEvent(MotionEvent ev) { 20 | boolean r = super.onTouchEvent(ev); 21 | Log.i("debug", "sv touch return:"+r+" ev:" + ev.toString()); 22 | return false; 23 | } 24 | 25 | @Override 26 | public boolean onInterceptTouchEvent(MotionEvent ev) { 27 | boolean r = super.onInterceptTouchEvent(ev); 28 | Log.i("debug", "sv intercept return:"+r+" ev:" + ev.toString()); 29 | 30 | return r; 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/SquareImageView.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget; 2 | 3 | import android.content.Context; 4 | import android.support.v7.widget.AppCompatImageView; 5 | import android.util.AttributeSet; 6 | 7 | public class SquareImageView extends AppCompatImageView { 8 | public SquareImageView(Context context) { 9 | super(context); 10 | } 11 | 12 | public SquareImageView(Context context, AttributeSet attrs) { 13 | super(context, attrs); 14 | } 15 | 16 | public SquareImageView(Context context, AttributeSet attrs, int defStyleAttr) { 17 | super(context, attrs, defStyleAttr); 18 | } 19 | 20 | @Override 21 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 22 | super.onMeasure(widthMeasureSpec, widthMeasureSpec); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/TurntableView.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget; 2 | 3 | import android.content.Context; 4 | import android.content.res.TypedArray; 5 | import android.graphics.Bitmap; 6 | import android.graphics.drawable.Drawable; 7 | import android.support.annotation.NonNull; 8 | import android.support.annotation.Nullable; 9 | import android.util.AttributeSet; 10 | import android.view.LayoutInflater; 11 | import android.widget.FrameLayout; 12 | import android.widget.ImageView; 13 | 14 | import cn.deepkolos.simplemusic3.R; 15 | 16 | public class TurntableView extends FrameLayout { 17 | ImageView $cover; 18 | 19 | public TurntableView(@NonNull Context context) { 20 | super(context); 21 | init(context); 22 | } 23 | 24 | public TurntableView(@NonNull Context context, @Nullable AttributeSet attrs) { 25 | super(context, attrs); 26 | init(context); 27 | 28 | TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.ImageAttrs); 29 | Drawable src = ta.getDrawable(R.styleable.ImageAttrs_src); 30 | setSrc(src); 31 | ta.recycle(); 32 | } 33 | 34 | private void init(Context context) { 35 | LayoutInflater.from(context).inflate(R.layout.view_turntable,this,true); 36 | $cover = findViewById(R.id.view_turntable_cover); 37 | $cover.setScaleType(ImageView.ScaleType.CENTER_CROP); 38 | } 39 | 40 | public void setSrc (Drawable icon) { 41 | if (icon != null) 42 | $cover.setImageDrawable(icon); 43 | } 44 | 45 | public void setSrc (Bitmap icon) { 46 | if (icon != null) 47 | $cover.setImageBitmap(icon); 48 | } 49 | 50 | 51 | } 52 | -------------------------------------------------------------------------------- /app/src/main/java/cn/deepkolos/simplemusic3/Widget/Utils/LoadingUtils.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3.Widget.Utils; 2 | 3 | import android.graphics.drawable.AnimationDrawable; 4 | import android.graphics.drawable.Drawable; 5 | import android.view.View; 6 | import android.widget.TextView; 7 | 8 | import cn.deepkolos.simplemusic3.R; 9 | 10 | public class LoadingUtils { 11 | public static void init (final View $loading) { 12 | $loading.postDelayed(new Runnable() { 13 | @Override 14 | public void run() { 15 | TextView textView = $loading.findViewById(R.id.view_loading_textView); 16 | Drawable drawables[] = textView.getCompoundDrawables(); 17 | AnimationDrawable anim = (AnimationDrawable) drawables[0]; 18 | anim.start(); 19 | } 20 | },0); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/res/anim/none_anim.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/anim/popup_enter_anim.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/popup_leave_anim.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/btn_action_bg_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/music_list_more_bg_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/play_bar_bg_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/play_bar_bg_selector_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/ripple_22_btn.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/ripple_27_btn.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/ripple_bar.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 12 | 13 | 19 | 22 | 25 | 26 | 27 | 28 | 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_play_page_indicator_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xhdpi/ic_play_page_indicator_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_play_page_indicator_unselected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xhdpi/ic_play_page_indicator_unselected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/default_artist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/default_artist.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/default_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/default_cover.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_arrow_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_arrow_down.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_edit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_loading1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_loading1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_loading2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_loading2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_loading3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_loading3.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_loading4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_loading4.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_menu.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_menu_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_menu_about.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_menu_exit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_menu_exit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_menu_night.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_menu_night.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_menu_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_menu_search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_menu_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_menu_settings.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_menu_timer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_menu_timer.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_music_list_icon_more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_music_list_icon_more.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_online_music_list_profile_headline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_online_music_list_profile_headline.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_bar_btn_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_bar_btn_next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_bar_btn_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_bar_btn_pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_bar_btn_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_bar_btn_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_bar_btn_playlist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_bar_btn_playlist.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_btn_loop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_btn_loop.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_btn_loop_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_btn_loop_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_btn_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_btn_next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_btn_next_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_btn_next_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_btn_one.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_btn_one.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_btn_one_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_btn_one_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_btn_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_btn_pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_btn_pause_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_btn_pause_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_btn_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_btn_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_btn_play_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_btn_play_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_btn_prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_btn_prev.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_btn_prev_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_btn_prev_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_btn_shuffle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_btn_shuffle.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_play_btn_shuffle_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_play_btn_shuffle_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_seek_bar_progress_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_seek_bar_progress_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_seek_bar_volume_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_seek_bar_volume_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_status_bar_next_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_status_bar_next_dark.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_status_bar_next_dark_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_status_bar_next_dark_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_status_bar_next_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_status_bar_next_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_status_bar_next_light_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_status_bar_next_light_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_status_bar_pause_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_status_bar_pause_dark.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_status_bar_pause_dark_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_status_bar_pause_dark_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_status_bar_pause_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_status_bar_pause_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_status_bar_pause_light_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_status_bar_pause_light_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_status_bar_play_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_status_bar_play_dark.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_status_bar_play_dark_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_status_bar_play_dark_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_status_bar_play_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_status_bar_play_light.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_status_bar_play_light_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_status_bar_play_light_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_volume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/ic_volume.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/play_page_default_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/play_page_default_bg.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/play_page_default_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/play_page_default_cover.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/play_page_disc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/play_page_disc.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/play_page_needle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable-xxhdpi/play_page_needle.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/album_group_indicator.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/back_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/back_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/btn_action_bg_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/deepkolos.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/deepkolos.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable/dot_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/expand_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/expand_indicator.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/expand_list_item_setting_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/expand_list_item_setting_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/expand_setting_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/expand_setting_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_album_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_album_bg.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_big_comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_big_comment.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_big_download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_big_download.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_big_like.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_big_like.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_big_liked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_big_liked.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_big_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_big_menu.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_directory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_directory.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_downloaded_full_badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_downloaded_full_badge.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_info.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_link.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_little_clock.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_collect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_little_collect.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_collect_sized.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_little_comment.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_little_download.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_mode_loop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_little_mode_loop.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_mode_loop_sized.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_mode_random.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_little_mode_random.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_mode_random_sized.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_mode_single.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_little_mode_single.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_mode_single_sized.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_multi_select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_little_multi_select.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_night_mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_little_night_mode.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_little_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_poweroffpng.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_little_poweroffpng.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_scan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_little_scan.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_little_setting.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_little_share.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_little_skin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_little_skin.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_album.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_menu_album.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_menu_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_collect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_menu_collect.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_menu_comment.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_create.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_menu_create.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_menu_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_menu_download.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_menu_edit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_manage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_menu_manage.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_play_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_menu_play_next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_recover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_menu_recover.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_ring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_menu_ring.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_menu_share.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_singer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_menu_singer.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_menu_video.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_play_mv_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_play_mv_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_calendar_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_round_calendar_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_calendar_btn_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_round_calendar_btn_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_calendar_btn_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_radio_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_round_radio_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_radio_btn_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_round_radio_btn_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_radio_btn_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_rate_board_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_round_rate_board_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_rate_board_btn_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_round_rate_board_btn_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_rate_board_btn_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_songlist_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_round_songlist_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_songlist_btn_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_round_songlist_btn_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_songlist_btn_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_search_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_small_ear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_small_ear.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_small_ear_sized.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_songlist_downloaded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_songlist_downloaded.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_songlist_local_music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_songlist_local_music.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_songlist_my_collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_songlist_my_collection.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_songlist_my_radio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_songlist_my_radio.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_songlist_recently_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_songlist_recently_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_sq_badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_sq_badge.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_status_bar_next_dark_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_status_bar_next_light_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_status_bar_pause_dark_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_status_bar_pause_light_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_status_bar_play_dark_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_status_bar_play_light_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_test_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_test_cover.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_text_arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_text_arrow_right.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_text_arrow_right_sized.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_tiny_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_tiny_menu.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_tiny_menu_sized.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_trash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_trash.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_v_badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_v_badge.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_volume_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/ic_volume_red.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/lyric_indicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/lyric_indicator.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/lyric_menu_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/lyric_menu_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/lyrics_locator_triangle.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_divider_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/music_list_more_bg_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/music_player_top_line.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/music_tab_bar_text_color_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_bar_bg_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_bar_bg_selector_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_bar_btn_play_pause_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_btn_loop_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_btn_next_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_btn_one_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_btn_pause_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_btn_play_pause_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_btn_play_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_btn_playlist_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_btn_prev_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_btn_shuffle_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_mode_level_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_mode_loop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/play_mode_loop.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_mode_loop_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/play_mode_loop_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_mode_random.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/play_mode_random.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_mode_random_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/play_mode_random_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_mode_single.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/play_mode_single.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_mode_single_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/play_mode_single_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_next_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/play_next_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_next_btn_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/play_next_btn_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_page_cover_border_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_page_cover_top_line_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_pause_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/play_pause_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_pause_btn_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/play_pause_btn_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_play_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/play_play_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_play_btn_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/play_play_btn_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_prev_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/play_prev_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/play_prev_btn_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/play_prev_btn_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/player_bar_swipe_edge_left_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/player_bar_swipe_edge_right_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/press_dark_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/press_light_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/progress_bar_drawable.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 10 | 13 | 16 | 19 | 22 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/progress_bar_style.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rect_icon_btn_badge_top_left_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rect_icon_btn_button_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rect_icon_btn_top_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/scrollbar_thumb.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/seek_bar_progress_style.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/seek_bar_volume_style.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/share_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/share_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/to_play_list_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/to_play_list_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/to_play_list_btn_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/to_play_list_btn_pressed.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/topbar_cloud_music_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/topbar_cloud_music_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/topbar_cloud_music_btn_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/topbar_cloud_music_btn_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/topbar_main_cloud_music_btn.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/topbar_main_short_video_btn.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/topbar_main_songlist_btn.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/topbar_menu_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/topbar_menu_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/topbar_search_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/topbar_search_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/topbar_short_video_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/topbar_short_video_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/topbar_short_video_btn_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/topbar_short_video_btn_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/topbar_songlist_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/topbar_songlist_btn.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/topbar_songlist_btn_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/drawable/topbar_songlist_btn_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/touchable_background_white.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/layout-ldltr/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout-ldltr/fragment_player_bar.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 16 | 20 | 21 | 22 | 27 | 28 | 33 | 34 | 39 | 40 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_album.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 18 | 19 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_album_content.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_local_music.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 14 | 15 | 20 | 21 | 26 | 27 | 28 | 29 | 33 | 34 | 39 | 40 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_local_music_topbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | 17 | 23 | 24 | 31 | 32 | 33 | 40 | 41 | 48 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main_content.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 15 | 16 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main_topbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 13 | 21 | 22 | 30 | 31 | 38 | 39 | 46 | 47 | 54 | 55 | 56 | 60 | 61 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_music_player.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 15 | 16 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_music_player_topbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | 15 | 23 | 24 | 31 | 32 | 39 | 40 | 41 | 47 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_radio_player.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_radio_player_topbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | 19 | 20 | 25 | 26 | 30 | 31 | 32 | 39 | -------------------------------------------------------------------------------- /app/src/main/res/layout/dialog_create_songlist.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_cloudmusic.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | 12 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_friends.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_loading.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_local_music_song_album_dir_singer.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_local_music_song_head.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | 12 | 20 | 21 | 29 | 30 | 38 | 39 | 40 | 52 | 53 | 58 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_not_get_done.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_radiostation.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_shortvideo.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | 12 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/menu_songlist_group_setting.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 20 | 21 | 29 | 30 | 38 | 39 | 47 | -------------------------------------------------------------------------------- /app/src/main/res/layout/menu_songlist_item_type_setting.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 19 | 20 | 28 | 29 | 37 | 38 | 46 | 47 | 55 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_album_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | 17 | 24 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_bottom_popup_content.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | 17 | 18 | 19 | 20 | 25 | 26 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_bottom_popup_content_listview.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | 17 | 18 | 19 | 20 | 27 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_bottom_popup_menu_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 15 | 16 | 24 | 25 | 31 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_carousel.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | 11 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_circle_icon_btn.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 16 | 17 | 23 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_drawer_bottom_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 15 | 16 | 22 | 23 | 29 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_drawer_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 16 | 17 | 23 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_list_of_songlist_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | 11 | 16 | 17 | 21 | 22 | 28 | 29 | 37 | 38 | 39 | 43 | 44 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_loading.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_lyric_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | 18 | 19 | 25 | 26 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_player_bar_placeholder.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_playlist_song_content.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_songlist_album_group.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 15 | 16 | 24 | 25 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_turntable.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 13 | 14 | 15 | 21 | 22 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 12 | 16 | 17 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values/attrs_clip_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs_icon_title.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs_image.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs_max_min_height_width.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs_song_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs_textview.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs_view_pager.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/bottom_layer_bar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 47dp 4 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | #FFFFFF 8 | 9 | #14FFFFFF 10 | #29FFFFFF 11 | #3DFFFFFF 12 | #80FFFFFF 13 | #F5FFFFFF 14 | @android:color/black 15 | #80000000 16 | #F44336 17 | #e04339 18 | #4CF44336 19 | #2196F3 20 | #9E9E9E 21 | #809E9E9E 22 | #E0E0E0 23 | #F5616161 24 | #F5E0E0E0 25 | #212121 26 | #F5212121 27 | 28 | #D33A31 29 | #919090 30 | 31 | #7D7C7B 32 | #BEBDBD 33 | #f9ffffff 34 | #f0ffffff 35 | #DADCDD 36 | #F2F4F5 37 | #E7483D 38 | #2000 39 | #2fff 40 | #0000 41 | 42 | #919293 43 | #4000 44 | 45 | #77212121 46 | 47 | 48 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | SimpleMusic3 3 | hotList 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values/top_bar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 52dp 4 | -------------------------------------------------------------------------------- /app/src/test/java/cn/deepkolos/simplemusic3/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package cn.deepkolos.simplemusic3; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | 5 | repositories { 6 | google() 7 | jcenter() 8 | } 9 | dependencies { 10 | classpath 'com.android.tools.build:gradle:3.1.3' 11 | 12 | 13 | // NOTE: Do not place your application dependencies here; they belong 14 | // in the individual module build.gradle files 15 | } 16 | } 17 | 18 | allprojects { 19 | repositories { 20 | google() 21 | jcenter() 22 | } 23 | } 24 | 25 | task clean(type: Delete) { 26 | delete rootProject.buildDir 27 | } 28 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will call in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Apr 02 08:39:50 CST 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip 7 | -------------------------------------------------------------------------------- /musicDB.mwb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/musicDB.mwb -------------------------------------------------------------------------------- /musicDB.mwb.bak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/musicDB.mwb.bak -------------------------------------------------------------------------------- /screenshot/Screenshot_2018-06-23-22-37-09-1586327018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/screenshot/Screenshot_2018-06-23-22-37-09-1586327018.png -------------------------------------------------------------------------------- /screenshot/Screenshot_2018-06-23-22-37-14-2106904949.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/screenshot/Screenshot_2018-06-23-22-37-14-2106904949.png -------------------------------------------------------------------------------- /screenshot/Screenshot_2018-06-23-22-37-19-0320874127.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/screenshot/Screenshot_2018-06-23-22-37-19-0320874127.png -------------------------------------------------------------------------------- /screenshot/Screenshot_2018-06-23-22-37-47-1021830689.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/screenshot/Screenshot_2018-06-23-22-37-47-1021830689.png -------------------------------------------------------------------------------- /screenshot/Screenshot_2018-06-23-22-39-48-0280736238.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/screenshot/Screenshot_2018-06-23-22-39-48-0280736238.png -------------------------------------------------------------------------------- /screenshot/Screenshot_2018-06-23-22-39-52-2068856406.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/screenshot/Screenshot_2018-06-23-22-39-52-2068856406.png -------------------------------------------------------------------------------- /screenshot/Screenshot_2018-06-23-22-39-57-1352841379.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/screenshot/Screenshot_2018-06-23-22-39-57-1352841379.png -------------------------------------------------------------------------------- /screenshot/Screenshot_2018-06-23-22-40-04-0640959777.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/screenshot/Screenshot_2018-06-23-22-40-04-0640959777.png -------------------------------------------------------------------------------- /screenshot/Screenshot_2018-06-23-22-40-10-0433593587.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/screenshot/Screenshot_2018-06-23-22-40-10-0433593587.png -------------------------------------------------------------------------------- /screenshot/Screenshot_2018-06-23-22-40-17-1372183378.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deepkolos/simpleMusic/130a99da4b605e8655d10de783396ac3b1c184bb/screenshot/Screenshot_2018-06-23-22-40-17-1372183378.png -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | --------------------------------------------------------------------------------