├── .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 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
17 |
18 |
--------------------------------------------------------------------------------
/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------