├── .editorconfig ├── .github └── issue_template.md ├── .gitignore ├── .travis.yml ├── .tx └── config ├── Android.mk ├── CleanSpec.mk ├── HALL-OF-SHAME.md ├── LICENSE ├── Makefile ├── README.md ├── app ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ └── about.html │ ├── java │ ├── android │ │ └── support │ │ │ └── iosched │ │ │ └── tabs │ │ │ ├── SlidingTabLayout.java │ │ │ ├── SlidingTabStrip.java │ │ │ └── VanillaTabLayout.java │ ├── ch │ │ └── blinkenlights │ │ │ ├── android │ │ │ ├── medialibrary │ │ │ │ ├── LibraryObserver.java │ │ │ │ ├── MediaLibrary.java │ │ │ │ ├── MediaLibraryBackend.java │ │ │ │ ├── MediaMetadataExtractor.java │ │ │ │ ├── MediaMigrations.java │ │ │ │ ├── MediaScanner.java │ │ │ │ └── MediaSchema.java │ │ │ └── vanilla │ │ │ │ ├── Action.java │ │ │ │ ├── AudioPickerActivity.java │ │ │ │ ├── AudioSearchActivity.java │ │ │ │ ├── BastpUtil.java │ │ │ │ ├── BottomBarControls.java │ │ │ │ ├── CoverBitmap.java │ │ │ │ ├── CoverCache.java │ │ │ │ ├── CoverView.java │ │ │ │ ├── DraggableRow.java │ │ │ │ ├── FastScrollGuardedListView.java │ │ │ │ ├── FileSystemAdapter.java │ │ │ │ ├── FileUtils.java │ │ │ │ ├── FilebrowserStartActivity.java │ │ │ │ ├── FolderPickerActivity.java │ │ │ │ ├── FolderPickerAdapter.java │ │ │ │ ├── FourLongWidget.java │ │ │ │ ├── FourSquareWidget.java │ │ │ │ ├── FourWhiteWidget.java │ │ │ │ ├── FullPlaybackActivity.java │ │ │ │ ├── IdlePreference.java │ │ │ │ ├── JumpToTimeDialog.java │ │ │ │ ├── LazyCoverView.java │ │ │ │ ├── LibraryActivity.java │ │ │ │ ├── LibraryAdapter.java │ │ │ │ ├── LibraryPagerAdapter.java │ │ │ │ ├── Limiter.java │ │ │ │ ├── ListPreferenceSummary.java │ │ │ │ ├── MediaAdapter.java │ │ │ │ ├── MediaButtonReceiver.java │ │ │ │ ├── MediaFoldersSelectionActivity.java │ │ │ │ ├── MediaSessionTracker.java │ │ │ │ ├── MediaUtils.java │ │ │ │ ├── MiniPlaybackActivity.java │ │ │ │ ├── NotificationHelper.java │ │ │ │ ├── OneCellWidget.java │ │ │ │ ├── PermissionRequestActivity.java │ │ │ │ ├── PlayCountsHelper.java │ │ │ │ ├── PlaybackActivity.java │ │ │ │ ├── PlaybackService.java │ │ │ │ ├── Playlist.java │ │ │ │ ├── PlaylistActivity.java │ │ │ │ ├── PlaylistAdapter.java │ │ │ │ ├── PlaylistDialog.java │ │ │ │ ├── PlaylistInputDialog.java │ │ │ │ ├── PlaylistObserver.java │ │ │ │ ├── PlaylistObserverDirActivity.java │ │ │ │ ├── PlaylistTask.java │ │ │ │ ├── PluginUtils.java │ │ │ │ ├── PrefDefaults.java │ │ │ │ ├── PrefKeys.java │ │ │ │ ├── PreferencesActivity.java │ │ │ │ ├── PreferencesMediaLibrary.java │ │ │ │ ├── PreferencesTheme.java │ │ │ │ ├── QueryTask.java │ │ │ │ ├── ReadaheadThread.java │ │ │ │ ├── RemoteControl.java │ │ │ │ ├── RemoteControlImplLp.java │ │ │ │ ├── ScheduledLibraryUpdate.java │ │ │ │ ├── SeekBarPreference.java │ │ │ │ ├── SharedPrefHelper.java │ │ │ │ ├── ShortcutPseudoActivity.java │ │ │ │ ├── ShowQueueAdapter.java │ │ │ │ ├── ShowQueueFragment.java │ │ │ │ ├── SlidingPlaybackActivity.java │ │ │ │ ├── SlidingView.java │ │ │ │ ├── Song.java │ │ │ │ ├── SongTimeline.java │ │ │ │ ├── SortableAdapter.java │ │ │ │ ├── SystemUtils.java │ │ │ │ ├── TabOrderActivity.java │ │ │ │ ├── TabOrderAdapter.java │ │ │ │ ├── ThemeHelper.java │ │ │ │ ├── TimelineCallback.java │ │ │ │ ├── TimestampedObject.java │ │ │ │ ├── TrackDetailsDialog.java │ │ │ │ ├── VanillaImageButton.java │ │ │ │ ├── VanillaMediaPlayer.java │ │ │ │ ├── ViewHolder.java │ │ │ │ ├── WidgetD.java │ │ │ │ ├── WidgetE.java │ │ │ │ ├── ext │ │ │ │ └── CoordClickListener.java │ │ │ │ └── ui │ │ │ │ ├── ArrowedText.java │ │ │ │ ├── FancyMenu.java │ │ │ │ └── FancyMenuItem.java │ │ │ └── bastp │ │ │ ├── Bastp.java │ │ │ ├── Common.java │ │ │ ├── FlacFile.java │ │ │ ├── ID3v2File.java │ │ │ ├── LameHeader.java │ │ │ ├── Mp4File.java │ │ │ ├── OggFile.java │ │ │ ├── OpusFile.java │ │ │ ├── PageInfo.java │ │ │ └── RawFile.java │ └── com │ │ └── mobeta │ │ └── android │ │ └── dslv │ │ ├── DragSortController.java │ │ ├── DragSortCursorAdapter.java │ │ ├── DragSortItemView.java │ │ ├── DragSortItemViewCheckable.java │ │ ├── DragSortListView.java │ │ ├── ResourceDragSortCursorAdapter.java │ │ ├── SimpleDragSortCursorAdapter.java │ │ └── SimpleFloatViewManager.java │ └── res │ ├── color │ └── tab_text_selector.xml │ ├── drawable-hdpi │ ├── arrow.png │ ├── arrow_up.png │ ├── btn_rating_star_off_mtrl_alpha.png │ ├── btn_rating_star_on_mtrl_alpha.png │ ├── empty.png │ ├── fallback_cover.png │ ├── fallback_cover_large.png │ ├── file_document.png │ ├── file_image.png │ ├── file_music.png │ ├── folder.png │ ├── grabber.png │ ├── ic_menu_add.png │ ├── ic_menu_moreoverflow_normal_holo_dark.png │ ├── ic_menu_music_library.png │ ├── ic_menu_preferences.png │ ├── ic_menu_search_holo.png │ ├── ic_menu_search_material.png │ ├── ic_menu_sort_alphabetically.png │ ├── menu_add_to_homescreen.png │ ├── menu_add_to_playlist.png │ ├── menu_album.png │ ├── menu_artist.png │ ├── menu_delete.png │ ├── menu_details.png │ ├── menu_edit.png │ ├── menu_enqueue.png │ ├── menu_enqueue_as_next.png │ ├── menu_expand.png │ ├── menu_launch.png │ ├── menu_move_to_bottom.png │ ├── menu_move_to_top.png │ ├── menu_play.png │ ├── menu_play_all.png │ ├── menu_plugins.png │ ├── menu_remove.png │ ├── next.png │ ├── pause.png │ ├── play.png │ ├── previous.png │ ├── random_active.png │ ├── repeat_active.png │ ├── repeat_current_active.png │ ├── repeat_inactive.png │ ├── repeat_inactive_service.png │ ├── shortcut_play.png │ ├── shortcut_random.png │ ├── shuffle_active.png │ ├── shuffle_album_active.png │ ├── shuffle_inactive.png │ ├── shuffle_inactive_service.png │ ├── status_icon.png │ ├── status_scan_0.png │ ├── status_scan_1.png │ ├── status_scan_2.png │ ├── status_scan_3.png │ ├── status_scan_4.png │ ├── stop_current_active.png │ ├── vinyl_left.png │ ├── vinyl_right.png │ ├── widget_bg.9.png │ ├── widget_next.png │ ├── widget_pause.png │ ├── widget_play.png │ └── widget_previous.png │ ├── drawable-mdpi │ ├── arrow.png │ ├── arrow_up.png │ ├── btn_rating_star_off_mtrl_alpha.png │ ├── btn_rating_star_on_mtrl_alpha.png │ ├── empty.png │ ├── fallback_cover.png │ ├── fallback_cover_large.png │ ├── file_document.png │ ├── file_image.png │ ├── file_music.png │ ├── folder.png │ ├── grabber.png │ ├── ic_menu_add.png │ ├── ic_menu_moreoverflow_normal_holo_dark.png │ ├── ic_menu_music_library.png │ ├── ic_menu_preferences.png │ ├── ic_menu_search_holo.png │ ├── ic_menu_search_material.png │ ├── ic_menu_sort_alphabetically.png │ ├── menu_add_to_homescreen.png │ ├── menu_add_to_playlist.png │ ├── menu_album.png │ ├── menu_artist.png │ ├── menu_delete.png │ ├── menu_details.png │ ├── menu_edit.png │ ├── menu_enqueue.png │ ├── menu_enqueue_as_next.png │ ├── menu_expand.png │ ├── menu_launch.png │ ├── menu_move_to_bottom.png │ ├── menu_move_to_top.png │ ├── menu_play.png │ ├── menu_play_all.png │ ├── menu_plugins.png │ ├── menu_remove.png │ ├── next.png │ ├── pause.png │ ├── play.png │ ├── previous.png │ ├── random_active.png │ ├── repeat_active.png │ ├── repeat_current_active.png │ ├── repeat_inactive.png │ ├── repeat_inactive_service.png │ ├── shortcut_play.png │ ├── shortcut_random.png │ ├── shuffle_active.png │ ├── shuffle_album_active.png │ ├── shuffle_inactive.png │ ├── shuffle_inactive_service.png │ ├── status_icon.png │ ├── status_scan_0.png │ ├── status_scan_1.png │ ├── status_scan_2.png │ ├── status_scan_3.png │ ├── status_scan_4.png │ ├── stop_current_active.png │ ├── vinyl_right.png │ ├── widget_bg.9.png │ ├── widget_next.png │ ├── widget_pause.png │ ├── widget_play.png │ └── widget_previous.png │ ├── drawable-v21 │ ├── ic_menu_moreoverflow.xml │ ├── ic_menu_search.xml │ ├── inset_divider.xml │ └── unbound_ripple_light.xml │ ├── drawable-xhdpi │ ├── arrow.png │ ├── arrow_up.png │ ├── btn_rating_star_off_mtrl_alpha.png │ ├── btn_rating_star_on_mtrl_alpha.png │ ├── empty.png │ ├── fallback_cover.png │ ├── fallback_cover_large.png │ ├── file_document.png │ ├── file_image.png │ ├── file_music.png │ ├── folder.png │ ├── grabber.png │ ├── ic_menu_moreoverflow_normal_holo_dark.png │ ├── ic_menu_search_holo.png │ ├── ic_menu_search_material.png │ ├── menu_add_to_homescreen.png │ ├── menu_add_to_playlist.png │ ├── menu_album.png │ ├── menu_artist.png │ ├── menu_delete.png │ ├── menu_details.png │ ├── menu_edit.png │ ├── menu_enqueue.png │ ├── menu_enqueue_as_next.png │ ├── menu_expand.png │ ├── menu_launch.png │ ├── menu_move_to_bottom.png │ ├── menu_move_to_top.png │ ├── menu_play.png │ ├── menu_play_all.png │ ├── menu_plugins.png │ ├── menu_remove.png │ ├── next.png │ ├── pause.png │ ├── play.png │ ├── previous.png │ ├── random_active.png │ ├── repeat_active.png │ ├── repeat_current_active.png │ ├── repeat_inactive.png │ ├── repeat_inactive_service.png │ ├── shortcut_play.png │ ├── shortcut_random.png │ ├── shuffle_active.png │ ├── shuffle_album_active.png │ ├── shuffle_inactive.png │ ├── shuffle_inactive_service.png │ ├── status_icon.png │ ├── status_scan_0.png │ ├── status_scan_1.png │ ├── status_scan_2.png │ ├── status_scan_3.png │ ├── status_scan_4.png │ ├── stop_current_active.png │ ├── vinyl_right.png │ ├── widget_next.png │ ├── widget_pause.png │ ├── widget_play.png │ └── widget_previous.png │ ├── drawable-xxhdpi │ ├── arrow.png │ ├── arrow_up.png │ ├── btn_rating_star_off_mtrl_alpha.png │ ├── btn_rating_star_on_mtrl_alpha.png │ ├── fallback_cover.png │ ├── fallback_cover_large.png │ ├── file_document.png │ ├── file_image.png │ ├── file_music.png │ ├── folder.png │ ├── grabber.png │ ├── ic_menu_moreoverflow_normal_holo_dark.png │ ├── ic_menu_search_holo.png │ ├── ic_menu_search_material.png │ ├── menu_add_to_homescreen.png │ ├── menu_add_to_playlist.png │ ├── menu_album.png │ ├── menu_artist.png │ ├── menu_delete.png │ ├── menu_details.png │ ├── menu_edit.png │ ├── menu_enqueue.png │ ├── menu_enqueue_as_next.png │ ├── menu_expand.png │ ├── menu_launch.png │ ├── menu_move_to_bottom.png │ ├── menu_move_to_top.png │ ├── menu_play.png │ ├── menu_play_all.png │ ├── menu_plugins.png │ ├── menu_remove.png │ ├── next.png │ ├── pause.png │ ├── play.png │ ├── preview_widget_d.png │ ├── preview_widget_e.png │ ├── preview_widget_four_long.png │ ├── preview_widget_four_square.png │ ├── preview_widget_four_white.png │ ├── preview_widget_one_cell.png │ ├── previous.png │ ├── random_active.png │ ├── repeat_active.png │ ├── repeat_current_active.png │ ├── repeat_inactive.png │ ├── repeat_inactive_service.png │ ├── shortcut_play.png │ ├── shortcut_random.png │ ├── shuffle_active.png │ ├── shuffle_album_active.png │ ├── shuffle_inactive.png │ ├── shuffle_inactive_service.png │ ├── status_icon.png │ ├── status_scan_0.png │ ├── status_scan_1.png │ ├── status_scan_2.png │ ├── status_scan_3.png │ ├── status_scan_4.png │ ├── stop_current_active.png │ ├── vinyl_right.png │ ├── widget_next.png │ ├── widget_pause.png │ ├── widget_play.png │ └── widget_previous.png │ ├── drawable │ ├── hidden_next.xml │ ├── hidden_pause.xml │ ├── hidden_play.xml │ ├── ic_menu_moreoverflow.xml │ ├── ic_menu_search.xml │ ├── inset_divider.xml │ ├── plugin.xml │ └── unbound_ripple_light.xml │ ├── layout-w600dp │ └── library_content.xml │ ├── layout │ ├── audiopicker.xml │ ├── bottombar_controls.xml │ ├── controls.xml │ ├── controls_widget.xml │ ├── draggable_row.xml │ ├── duration_input.xml │ ├── fancymenu_row.xml │ ├── fancymenu_spacer.xml │ ├── folderpicker_content.xml │ ├── four_long_widget.xml │ ├── four_square_widget.xml │ ├── four_white_widget.xml │ ├── fragment_track_details.xml │ ├── full_playback.xml │ ├── full_playback_alt.xml │ ├── library_content.xml │ ├── listview.xml │ ├── medialibrary_preferences.xml │ ├── mini_playback.xml │ ├── one_cell_widget.xml │ ├── permission_request.xml │ ├── playlist_activity.xml │ ├── playlist_buttons.xml │ ├── seek_bar.xml │ ├── seekbar_pref.xml │ ├── showqueue_listview.xml │ ├── sort_dialog.xml │ ├── tab_order.xml │ ├── track_details.xml │ ├── widget_d.xml │ └── widget_e.xml │ ├── mipmap-anydpi-v26 │ └── icon.xml │ ├── mipmap-hdpi │ ├── ic_normal_background.png │ ├── ic_normal_foreground.png │ └── icon.png │ ├── mipmap-mdpi │ ├── ic_normal_background.png │ ├── ic_normal_foreground.png │ └── icon.png │ ├── mipmap-xhdpi │ ├── ic_normal_background.png │ ├── ic_normal_foreground.png │ └── icon.png │ ├── mipmap-xxhdpi │ ├── ic_normal_background.png │ ├── ic_normal_foreground.png │ └── icon.png │ ├── mipmap-xxxhdpi │ ├── ic_normal_background.png │ ├── ic_normal_foreground.png │ └── icon.png │ ├── values-be │ └── translatable.xml │ ├── values-br │ └── translatable.xml │ ├── values-ca │ └── translatable.xml │ ├── values-cs │ └── translatable.xml │ ├── values-da │ └── translatable.xml │ ├── values-de │ └── translatable.xml │ ├── values-el-rGR │ └── translatable.xml │ ├── values-eo │ └── translatable.xml │ ├── values-es │ └── translatable.xml │ ├── values-eu-rES │ └── translatable.xml │ ├── values-fa-rIR │ └── translatable.xml │ ├── values-fi │ └── translatable.xml │ ├── values-fr │ └── translatable.xml │ ├── values-hu │ └── translatable.xml │ ├── values-in │ └── translatable.xml │ ├── values-it │ └── translatable.xml │ ├── values-iw │ └── translatable.xml │ ├── values-ja │ └── translatable.xml │ ├── values-ko │ └── translatable.xml │ ├── values-lv │ └── translatable.xml │ ├── values-nl │ └── translatable.xml │ ├── values-no │ └── translatable.xml │ ├── values-pl │ └── translatable.xml │ ├── values-pt-rBR │ └── translatable.xml │ ├── values-pt │ └── translatable.xml │ ├── values-ru │ └── translatable.xml │ ├── values-sk │ └── translatable.xml │ ├── values-sr │ └── translatable.xml │ ├── values-sv │ └── translatable.xml │ ├── values-tr │ └── translatable.xml │ ├── values-uk │ └── translatable.xml │ ├── values-v21 │ ├── colors.xml │ ├── theme-amoled_dark.xml │ ├── theme-blue_dark.xml │ ├── theme-blue_light.xml │ ├── theme-grey_dark.xml │ ├── theme-grey_light.xml │ ├── theme-orange_dark.xml │ ├── theme-orange_light.xml │ ├── theme-red_dark.xml │ ├── theme-red_light.xml │ ├── theme-standard_dark.xml │ ├── theme-standard_light.xml │ ├── theme-start_wearing_purple.xml │ ├── theme.xml │ └── themes-list.xml │ ├── values-v23 │ └── colors.xml │ ├── values-vi │ └── translatable.xml │ ├── values-zh-rCN │ └── translatable.xml │ ├── values-zh-rTW │ └── translatable.xml │ ├── values │ ├── attrs.xml │ ├── colors.xml │ ├── dimens.xml │ ├── dslv_attrs.xml │ ├── seekbarpreference_attr.xml │ ├── slidingview_attr.xml │ ├── tiles_colors.xml │ ├── translatable.xml │ └── untranslatable.xml │ └── xml │ ├── four_long_widget.xml │ ├── four_square_widget.xml │ ├── four_white_widget.xml │ ├── one_cell_widget.xml │ ├── preference_audio.xml │ ├── preference_coverart.xml │ ├── preference_headers.xml │ ├── preference_library.xml │ ├── preference_misc.xml │ ├── preference_notifications.xml │ ├── preference_playback.xml │ ├── preference_playlist.xml │ ├── preference_replaygain.xml │ ├── preference_shake.xml │ ├── provider_paths.xml │ ├── shortcuts.xml │ ├── widget_d.xml │ └── widget_e.xml ├── build.gradle ├── fastlane └── metadata │ └── en-US │ ├── images │ ├── featureGraphic.png │ └── icon.png │ └── phoneScreenshots │ ├── p1.png │ ├── p2.png │ ├── p3.png │ ├── p4.png │ ├── p5.png │ ├── p6.png │ ├── p7.png │ ├── p8.png │ └── p9.png ├── generate-pngs.sh ├── generate-themes.pl ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── orig ├── assets │ ├── 16596798443_44b5528514_o.jpg │ ├── README.md │ └── featureGraphic.svg ├── drawable │ ├── arrow.svgz │ ├── arrow_up.svgz │ ├── fallback_cover.svgz │ ├── fallback_cover_large.svgz │ ├── file_document.svgz │ ├── file_image.svgz │ ├── file_music.svgz │ ├── folder.svgz │ ├── grabber.svgz │ ├── menu_add_to_homescreen.svgz │ ├── menu_add_to_playlist.svgz │ ├── menu_album.svgz │ ├── menu_artist.svgz │ ├── menu_delete.svgz │ ├── menu_details.svgz │ ├── menu_edit.svgz │ ├── menu_enqueue.svgz │ ├── menu_enqueue_as_next.svgz │ ├── menu_expand.svgz │ ├── menu_launch.svgz │ ├── menu_move_to_bottom.svgz │ ├── menu_move_to_top.svgz │ ├── menu_play.svgz │ ├── menu_play_all.svgz │ ├── menu_plugins.svgz │ ├── menu_remove.svgz │ ├── next.svgz │ ├── pause.svgz │ ├── play.svgz │ ├── previous.svgz │ ├── random_active.svgz │ ├── repeat_active.svgz │ ├── repeat_current_active.svgz │ ├── repeat_inactive.svgz │ ├── repeat_inactive_service.svgz │ ├── shortcut_play.svgz │ ├── shortcut_random.svgz │ ├── shuffle_active.svgz │ ├── shuffle_album_active.svgz │ ├── shuffle_inactive.svgz │ ├── shuffle_inactive_service.svgz │ ├── status_icon.svgz │ ├── status_scan_0.svgz │ ├── status_scan_1.svgz │ ├── status_scan_2.svgz │ ├── status_scan_3.svgz │ ├── status_scan_4.svgz │ ├── stop_current_active.svgz │ ├── widget_next.svgz │ ├── widget_pause.svgz │ ├── widget_play.svgz │ └── widget_previous.svgz ├── mipmap │ ├── ic_normal_background.svgz │ ├── ic_normal_foreground.svgz │ └── icon.svgz └── vinyl.xcf ├── settings.gradle └── update-translations.pl /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: http://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root=true 5 | 6 | [*] 7 | charset=utf-8 8 | # Unix-style newlines with a newline ending every file 9 | end_of_line=lf 10 | insert_final_newline=true 11 | indent_style=tab 12 | tab_width=4 13 | -------------------------------------------------------------------------------- /.github/issue_template.md: -------------------------------------------------------------------------------- 1 | 1. Please take a moment to check if the same Bug has already been reported. 2 | 2. Please use our subreddit for general questions: https://www.reddit.com/r/vanillamusic/ 3 | 3. Please provide all relevant information below. 4 | 5 | **You MUST delete the content above including this line before posting, otherwise your issue may be closed as 'invalid'.** 6 | 7 | - Vanilla Music Version (Settings -> About): 8 | - Android Version: 9 | - Phone vendor / model: 10 | - Application was downloaded from (use `[x]`): 11 | - [ ] Play Store 12 | - [ ] F-Droid 13 | - [ ] Other (Nightly Build) 14 | - Did this work in a previous version? 15 | - [ ] Yes 16 | - [ ] No 17 | - [ ] NA / Don't know. 18 | 19 | ## Description 20 | 21 | .... 22 | 23 | ## Steps to reproduce the issue 24 | 25 | ... 26 | 27 | ## Screenshot / Video (If applicable) 28 | 29 | ... 30 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Source: https://raw.githubusercontent.com/github/gitignore/master/Android.gitignore 2 | 3 | # Built application files 4 | *.apk 5 | *.ap_ 6 | 7 | # Files for the Dalvik VM 8 | *.dex 9 | 10 | # Java class files 11 | *.class 12 | 13 | # Generated files 14 | bin/ 15 | gen/ 16 | 17 | # Gradle files 18 | .gradle/ 19 | build/ 20 | 21 | # Local configuration file (sdk path, etc) 22 | local.properties 23 | 24 | # Proguard folder generated by Eclipse 25 | proguard/ 26 | 27 | # Log Files 28 | *.log 29 | 30 | # Source: http://stackoverflow.com/a/17803964 31 | .DS_Store 32 | 33 | # Source: https://gitlab.com/fdroid/fdroidclient/raw/master/.gitignore 34 | *~ 35 | *.swp 36 | .idea/ 37 | *.iml 38 | out 39 | .settings/ 40 | 41 | # Visual Studio 2015 cache/options directory 42 | .vs/ 43 | 44 | # Visual Studio Code files 45 | .project 46 | .classpath -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: android 2 | 3 | jdk: 4 | - oraclejdk8 5 | 6 | env: 7 | global: 8 | # install timeout in minutes (2 minutes by default) 9 | - ADB_INSTALL_TIMEOUT=8 10 | 11 | android: 12 | components: 13 | # use the latest revision of Android SDK Tools 14 | - platform-tools 15 | - tools 16 | 17 | # The BuildTools version used 18 | - build-tools-29.0.2 19 | 20 | # The SDK version used 21 | - android-29 22 | 23 | before_cache: 24 | - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock 25 | cache: 26 | directories: 27 | - $HOME/.gradle/caches/ 28 | - $HOME/.gradle/wrapper/ 29 | 30 | script: 31 | - ./gradlew --info assembleRelease 32 | -------------------------------------------------------------------------------- /.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | 4 | [o:vanilla_music:p:vanilla-music-1:r:en-strings] 5 | file_filter = translations/vanilla-music-1.en-strings/.xml 6 | source_file = translations/vanilla-music-1.en-strings/en.xml 7 | source_lang = en 8 | type = ANDROID 9 | 10 | -------------------------------------------------------------------------------- /Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH:= $(call my-dir) 2 | include $(CLEAR_VARS) 3 | LOCAL_MODULE_TAGS := optional 4 | 5 | LOCAL_SRC_FILES := \ 6 | $(call all-java-files-under, src) 7 | 8 | LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res 9 | 10 | LOCAL_PACKAGE_NAME := VanillaMusic 11 | 12 | LOCAL_AAPT_FLAGS := \ 13 | --auto-add-overlay 14 | 15 | include $(BUILD_PACKAGE) 16 | 17 | # Use the following include to make our test apk. 18 | ifeq (,$(ONE_SHOT_MAKEFILE)) 19 | include $(call all-makefiles-under,$(LOCAL_PATH)) 20 | endif 21 | -------------------------------------------------------------------------------- /CleanSpec.mk: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2007 The Android Open Source Project 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | # 15 | 16 | # If you don't need to do a full clean build but would like to touch 17 | # a file or delete some intermediate files, add a clean step to the end 18 | # of the list. These steps will only be run once, if they haven't been 19 | # run before. 20 | # 21 | # E.g.: 22 | # $(call add-clean-step, touch -c external/sqlite/sqlite3.h) 23 | # $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) 24 | # 25 | # Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with 26 | # files that are missing or have been moved. 27 | # 28 | # Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. 29 | # Use $(OUT_DIR) to refer to the "out" directory. 30 | # 31 | # If you need to re-do something that's already mentioned, just copy 32 | # the command and add it to the bottom of the list. E.g., if a change 33 | # that you made last week required touching a file and a change you 34 | # made today requires touching the same file, just copy the old 35 | # touch step and add it to the end of the list. 36 | # 37 | # ************************************************ 38 | # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 39 | # ************************************************ 40 | 41 | # For example: 42 | #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) 43 | #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) 44 | #$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) 45 | #$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) 46 | 47 | # ************************************************ 48 | # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 49 | # ************************************************ 50 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: debug build release clean 2 | 3 | default: 4 | 5 | lint: 6 | ssh qemu '. .bash_aliases && cd /hostfs/vanilla && ./gradlew lintDebug' 7 | 8 | debug: build 9 | adb install -r ./app/build/outputs/apk/debug/app-debug.apk 10 | 11 | build: 12 | ssh qemu '. .bash_aliases && cd /hostfs/vanilla && ./gradlew build --warning-mode all -x lintVitalRelease -x lint' 13 | 14 | release: clean 15 | ssh qemu '. .bash_aliases && cd /hostfs/vanilla && ./gradlew assembleRelease && cd ./app/build/outputs/apk/release && zipalign -v -p 4 app-release-unsigned.apk aligned.apk && /home/adrian/Android/build-tools/27.0.3/apksigner sign -ks /hostfs/.android.keystore --out final.apk aligned.apk' 16 | 17 | clean: 18 | rm -rf ./app/build 19 | 20 | uninstall: 21 | adb uninstall ch.blinkenlights.android.vanilla 22 | 23 | gce-nightly: 24 | ./gradlew assembleRelease && cd ./app/build/outputs/apk/release && zipalign -v -p 4 app-release-unsigned.apk aligned.apk && echo aaaaaa | apksigner sign -ks ~/.android.keystore --out nightly-signed.apk aligned.apk 25 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | lintOptions { 5 | disable 'MissingTranslation' 6 | disable 'ExtraTranslation' 7 | } 8 | 9 | compileSdkVersion rootProject.ext.compileSdkVersion 10 | 11 | defaultConfig { 12 | applicationId "ch.blinkenlights.android.vanilla" 13 | minSdkVersion rootProject.ext.minSdkVersion 14 | targetSdkVersion rootProject.ext.targetSdkVersion 15 | } 16 | 17 | buildTypes { 18 | release { 19 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 20 | minifyEnabled true 21 | zipAlignEnabled true 22 | } 23 | } 24 | 25 | lintOptions { 26 | abortOnError false 27 | } 28 | } 29 | 30 | dependencies { 31 | implementation 'androidx.legacy:legacy-support-core-ui:1.0.0' 32 | implementation 'androidx.media:media:1.6.0' 33 | implementation 'com.google.android.material:material:1.7.0' 34 | implementation 'junit:junit:4.12' 35 | compileOnly 'androidx.annotation:annotation:1.0.0' 36 | } 37 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Never obfuscate releases 2 | -dontobfuscate 3 | -------------------------------------------------------------------------------- /app/src/main/java/android/support/iosched/tabs/VanillaTabLayout.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015-2016 Adrian Ulrich 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | package android.support.iosched.tabs; 19 | 20 | import android.app.ActionBar; 21 | import android.content.Context; 22 | import android.text.TextUtils; 23 | import android.util.AttributeSet; 24 | import android.widget.TextView; 25 | 26 | /** 27 | * Simple wrapper for SlidingTabLayout which takes 28 | * care of setting sane per-platform defaults 29 | */ 30 | public class VanillaTabLayout extends SlidingTabLayout { 31 | 32 | public VanillaTabLayout(Context context) { 33 | this(context, null); 34 | } 35 | 36 | public VanillaTabLayout(Context context, AttributeSet attrs) { 37 | this(context, attrs, 0); 38 | } 39 | 40 | public VanillaTabLayout(Context context, AttributeSet attrs, int defStyle) { 41 | super(context, attrs, defStyle); 42 | setSelectedIndicatorColors(context.getResources().getColor(ch.blinkenlights.android.vanilla.R.color.tabs_active_indicator)); 43 | setDistributeEvenly(false); 44 | } 45 | 46 | /** 47 | * Overrides the default text color 48 | */ 49 | @Override 50 | protected TextView createDefaultTabView(Context context) { 51 | TextView view = super.createDefaultTabView(context); 52 | view.setTextColor(getResources().getColorStateList(ch.blinkenlights.android.vanilla.R.color.tab_text_selector)); 53 | view.setBackgroundResource(ch.blinkenlights.android.vanilla.R.drawable.unbound_ripple_light); 54 | view.setMaxLines(1); 55 | view.setEllipsize(TextUtils.TruncateAt.END); 56 | view.setTextSize(14); 57 | return view; 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/medialibrary/LibraryObserver.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 Adrian Ulrich 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | package ch.blinkenlights.android.medialibrary; 19 | 20 | /** 21 | * Receives callbacks if the media library changes 22 | */ 23 | public class LibraryObserver { 24 | /** 25 | * Type of the event, to be used as a hint 26 | * by the receiver 27 | */ 28 | public enum Type { 29 | SONG, // Change affected song items. 30 | PLAYLIST, // Change affected playlists. 31 | SCAN_PROGRESS, // Information about an ongoing scan. 32 | } 33 | /** 34 | * Special hint values 35 | */ 36 | public class Value { 37 | public static final int UNKNOWN = -1; // The exact id of the changed object is not know, may have affected all items. 38 | public static final int OUTDATED = -2; // Everything you know is wrong: Cached data must not be used nor trusted. 39 | } 40 | 41 | /** 42 | * Return new LibraryObserver object. 43 | */ 44 | public LibraryObserver() { 45 | } 46 | 47 | /** 48 | * Called if there was a change, expected 49 | * to be overriden by the registered observer. 50 | * 51 | * @param type one of LibraryObserver.Type 52 | * @param id hint of which id changed for type, -1 if unspecified. 53 | * @param ongoing whether or not to expect more events soon. 54 | */ 55 | public void onChange(Type type, long id, boolean ongoing) { 56 | // NOOP, should be overriden. 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/medialibrary/MediaMigrations.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 Adrian Ulrich 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | package ch.blinkenlights.android.medialibrary; 19 | 20 | import android.content.ContentValues; 21 | import android.database.sqlite.SQLiteDatabase; 22 | import android.database.Cursor; 23 | import android.util.Log; 24 | 25 | 26 | public class MediaMigrations { 27 | /** 28 | * Migrate to 20180416 29 | * That is: populate NAME_SORT in the new source database 30 | * 31 | * @param dbh the database to work on 32 | * @param fromDb the name of the source database 33 | * @param toDb the name of the target database 34 | **/ 35 | static void migrate_to_20180416(SQLiteDatabase dbh, String fromDb, String toDb) { 36 | Cursor cursor = dbh.query(fromDb, new String[]{MediaLibrary.PlaylistColumns._ID, MediaLibrary.PlaylistColumns.NAME}, null, null, null, null, null); 37 | while (cursor.moveToNext()) { 38 | long id = cursor.getLong(0); 39 | String name = cursor.getString(1); 40 | String key = MediaLibrary.keyFor(name); 41 | 42 | Log.v("VanillaMusic", "migrate_to_20180416 -> id="+id+", name="+name+" -> key = "+key); 43 | ContentValues v = new ContentValues(); 44 | v.put(MediaLibrary.PlaylistColumns._ID, id); 45 | v.put(MediaLibrary.PlaylistColumns.NAME, name); 46 | v.put(MediaLibrary.PlaylistColumns.NAME_SORT, key); 47 | dbh.insert(toDb, null, v); 48 | } 49 | cursor.close(); 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/vanilla/FilebrowserStartActivity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Adrian Ulrich 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | package ch.blinkenlights.android.vanilla; 19 | 20 | import android.os.Bundle; 21 | import android.content.SharedPreferences; 22 | 23 | import java.io.File; 24 | import java.util.ArrayList; 25 | 26 | public class FilebrowserStartActivity extends FolderPickerActivity { 27 | 28 | @Override 29 | public void onCreate(Bundle savedInstanceState) { 30 | super.onCreate(savedInstanceState); 31 | setTitle(R.string.filebrowser_start); 32 | 33 | // Make sure that we display the current selection 34 | File startPath = FileUtils.getFilesystemBrowseStart(this); 35 | setCurrentDir(startPath); 36 | } 37 | 38 | 39 | @Override 40 | public void onFolderPicked(File directory, ArrayList a, ArrayList b) { 41 | SharedPreferences.Editor editor = SharedPrefHelper.getSettings(this).edit(); 42 | editor.putString(PrefKeys.FILESYSTEM_BROWSE_START, directory.getAbsolutePath()); 43 | editor.apply(); 44 | finish(); 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/vanilla/Limiter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 Christopher Eby 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | package ch.blinkenlights.android.vanilla; 24 | 25 | import java.io.Serializable; 26 | 27 | /** 28 | * Limiter is a constraint for MediaAdapter and FileSystemAdapter used when 29 | * a row is "expanded". 30 | */ 31 | public class Limiter implements Serializable { 32 | private static final long serialVersionUID = -4729694243900202614L; 33 | 34 | /** 35 | * The type of the limiter. One of MediaUtils.TYPE_ARTIST, TYPE_ALBUM, 36 | * TYPE_GENRE, or TYPE_FILE. 37 | */ 38 | public final int type; 39 | /** 40 | * Each element will be given a separate view each representing a higher 41 | * different limiters. The first element is the broadest limiter, the last 42 | * the most specific. For example, an album limiter would look like: 43 | * { "Some Artist", "Some Album" } 44 | * Or a file limiter: 45 | * { "sdcard", "Music", "folder" } 46 | */ 47 | public final String[] names; 48 | /** 49 | * The data for the limiter. This varies according to the type of the 50 | * limiter. 51 | */ 52 | public final Object data; 53 | 54 | /** 55 | * Create a limiter with the given data. All parameters initialize their 56 | * corresponding fields in the class. 57 | */ 58 | public Limiter(int type, String[] names, Object data) 59 | { 60 | this.type = type; 61 | this.names = names; 62 | this.data = data; 63 | } 64 | } -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/vanilla/ListPreferenceSummary.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 Adrian Ulrich 3 | * Copyright (C) 2011 Christopher Eby 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy 6 | * of this software and associated documentation files (the "Software"), to deal 7 | * in the Software without restriction, including without limitation the rights 8 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | * copies of the Software, and to permit persons to whom the Software is 10 | * furnished to do so, subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in 13 | * all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | * THE SOFTWARE. 22 | */ 23 | 24 | package ch.blinkenlights.android.vanilla; 25 | 26 | import android.content.Context; 27 | import android.preference.ListPreference; 28 | import android.util.AttributeSet; 29 | 30 | /** 31 | * Overrides ListPreference to show the selected value as the summary. 32 | * 33 | * (ListPreference should supposedly be able to do this itself if %s is in the 34 | * summary, but as far as I can tell that behavior is broken.) 35 | */ 36 | public class ListPreferenceSummary extends ListPreference { 37 | public ListPreferenceSummary(Context context, AttributeSet attrs) 38 | { 39 | super(context, attrs); 40 | } 41 | 42 | @Override 43 | public CharSequence getSummary() 44 | { 45 | return getEntry(); 46 | } 47 | 48 | @Override 49 | public boolean shouldDisableDependents() 50 | { 51 | return getValue().equals("0"); 52 | } 53 | 54 | @Override 55 | protected void onDialogClosed(boolean positiveResult) 56 | { 57 | super.onDialogClosed(positiveResult); 58 | notifyDependencyChange(shouldDisableDependents()); 59 | notifyChanged(); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/vanilla/MediaFoldersSelectionActivity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Adrian Ulrich 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | package ch.blinkenlights.android.vanilla; 19 | 20 | import ch.blinkenlights.android.medialibrary.MediaLibrary; 21 | 22 | import android.app.Activity; 23 | import android.os.Bundle; 24 | import android.content.SharedPreferences; 25 | 26 | import java.io.File; 27 | import java.util.ArrayList; 28 | 29 | public class MediaFoldersSelectionActivity extends FolderPickerActivity { 30 | 31 | private SharedPreferences.Editor mPrefEditor; 32 | 33 | @Override 34 | public void onCreate(Bundle savedInstanceState) { 35 | super.onCreate(savedInstanceState); 36 | setTitle(R.string.media_folders_header); 37 | 38 | MediaLibrary.Preferences prefs = MediaLibrary.getPreferences(this); 39 | File startPath = FileUtils.getFilesystemBrowseStart(this); 40 | 41 | // Setup UI and enable tritastic options. 42 | enableTritasticSelect(true, prefs.mediaFolders, prefs.blacklistedFolders); 43 | enableTritasticSpinner(true); 44 | // ...and jump to the folder. 45 | setCurrentDir(startPath); 46 | } 47 | 48 | 49 | @Override 50 | public void onFolderPicked(File directory, ArrayList included, ArrayList excluded) { 51 | MediaLibrary.Preferences prefs = MediaLibrary.getPreferences(this); 52 | prefs.mediaFolders = included; 53 | prefs.blacklistedFolders = excluded; 54 | MediaLibrary.setPreferences(this, prefs); 55 | finish(); 56 | } 57 | 58 | } 59 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/vanilla/MiniPlaybackActivity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010 Christopher Eby 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | package ch.blinkenlights.android.vanilla; 24 | 25 | import android.content.Intent; 26 | import android.os.Bundle; 27 | import android.view.View; 28 | import android.view.Window; 29 | import android.widget.ImageButton; 30 | 31 | /** 32 | * Compact playback activity that displays itself like a dialog. That is, the 33 | * window is not fullscreen but only as large as it needs to be. Includes a 34 | * CoverView and control buttons. 35 | */ 36 | public class MiniPlaybackActivity extends PlaybackActivity { 37 | @Override 38 | public void onCreate(Bundle state) 39 | { 40 | ThemeHelper.setTheme(this, R.style.PopupDialog); 41 | super.onCreate(state); 42 | 43 | requestWindowFeature(Window.FEATURE_NO_TITLE); 44 | setContentView(R.layout.mini_playback); 45 | 46 | mCoverView = (CoverView)findViewById(R.id.cover_view); 47 | mCoverView.setOnClickListener(this); 48 | mCoverView.setup(mLooper, this, CoverBitmap.STYLE_OVERLAPPING_BOX); 49 | 50 | bindControlButtons(); 51 | } 52 | 53 | @Override 54 | public void onClick(View view) 55 | { 56 | switch (view.getId()) { 57 | case R.id.cover_view: 58 | startActivity(new Intent(this, FullPlaybackActivity.class)); 59 | finish(); 60 | break; 61 | default: 62 | super.onClick(view); 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/vanilla/PlayCountsHelper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014-2016 Adrian Ulrich 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | package ch.blinkenlights.android.vanilla; 19 | 20 | import ch.blinkenlights.android.medialibrary.MediaLibrary; 21 | 22 | import android.content.Context; 23 | import android.database.Cursor; 24 | import java.util.ArrayList; 25 | 26 | public class PlayCountsHelper { 27 | 28 | public PlayCountsHelper() { 29 | } 30 | 31 | /** 32 | * Counts this song object as 'played' or 'skipped' 33 | */ 34 | public static void countSong(Context context, Song song, boolean played) { 35 | final long id = Song.getId(song); 36 | MediaLibrary.updateSongPlayCounts(context, id, played); 37 | } 38 | 39 | 40 | 41 | /** 42 | * Returns a sorted array list of most often listen song ids 43 | */ 44 | public static ArrayList getTopSongs(Context context, int limit) { 45 | ArrayList payload = new ArrayList(); 46 | Cursor cursor = MediaLibrary.queryLibrary(context, MediaLibrary.TABLE_SONGS, new String[]{ MediaLibrary.SongColumns._ID }, MediaLibrary.SongColumns.PLAYCOUNT+" > 0", null, MediaLibrary.SongColumns.PLAYCOUNT+" DESC"); 47 | while (cursor.moveToNext() && limit > 0) { 48 | payload.add(cursor.getLong(0)); 49 | limit--; 50 | } 51 | cursor.close(); 52 | return payload; 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/vanilla/PlaylistObserverDirActivity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2018 Adrian Ulrich 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | package ch.blinkenlights.android.vanilla; 19 | 20 | import android.os.Bundle; 21 | import android.content.SharedPreferences; 22 | 23 | import java.io.File; 24 | import java.util.ArrayList; 25 | 26 | public class PlaylistObserverDirActivity extends FolderPickerActivity { 27 | 28 | @Override 29 | public void onCreate(Bundle savedInstanceState) { 30 | super.onCreate(savedInstanceState); 31 | setTitle(R.string.filebrowser_start); 32 | 33 | // Start at currently configured directory. 34 | String current = SharedPrefHelper.getSettings(this).getString(PrefKeys.PLAYLIST_SYNC_FOLDER, PrefDefaults.PLAYLIST_SYNC_FOLDER); 35 | setCurrentDir(new File(current)); 36 | } 37 | 38 | 39 | @Override 40 | public void onFolderPicked(File directory, ArrayList a, ArrayList b) { 41 | SharedPreferences.Editor editor = SharedPrefHelper.getSettings(this).edit(); 42 | editor.putString(PrefKeys.PLAYLIST_SYNC_FOLDER, directory.getAbsolutePath()); 43 | editor.apply(); 44 | finish(); 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/vanilla/PlaylistTask.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2013 Adrian Ulrich 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | 19 | package ch.blinkenlights.android.vanilla; 20 | 21 | import java.util.ArrayList; 22 | 23 | /** 24 | * Represents a pending playlist manipulation 25 | */ 26 | public class PlaylistTask { 27 | 28 | /** 29 | * ID of this playlist to manipulate 30 | */ 31 | public long playlistId; 32 | /** 33 | * Name of this playlist (used for the toast message) 34 | */ 35 | public String name; 36 | /** 37 | * Populate playlist using this QueryTask 38 | */ 39 | public QueryTask query; 40 | /** 41 | * Populate playlist using this audioIds 42 | */ 43 | public ArrayList audioIds; 44 | 45 | 46 | public PlaylistTask(long playlistId, String name) { 47 | this.playlistId = playlistId; 48 | this.name = name; 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/vanilla/QueryTask.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Adrian Ulrich 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | 19 | package ch.blinkenlights.android.vanilla; 20 | 21 | import ch.blinkenlights.android.medialibrary.MediaLibrary; 22 | 23 | import android.content.Context; 24 | import android.database.Cursor; 25 | 26 | /** 27 | * Represents a pending query. 28 | */ 29 | public class QueryTask { 30 | public final String table; 31 | public final String[] projection; 32 | public final String selection; 33 | public final String[] selectionArgs; 34 | public String sortOrder; 35 | 36 | /** 37 | * Used for {@link SongTimeline#addSongs(android.content.Context, QueryTask)}. 38 | * One of SongTimeline.MODE_*. 39 | */ 40 | public int mode; 41 | 42 | /** 43 | * Type of the group being query. One of MediaUtils.TYPE_*. 44 | */ 45 | public int type; 46 | 47 | /** 48 | * Data. Required value depends on value of mode. See individual mode 49 | * documentation for details. 50 | */ 51 | public long data; 52 | 53 | /** 54 | * Create the tasks. All arguments are passed directly to 55 | * MediaLibrary.runQuery(). 56 | */ 57 | public QueryTask(String table, String[] projection, String selection, String[] selectionArgs, String sortOrder) { 58 | this.table = table; 59 | this.projection = projection; 60 | this.selection = selection; 61 | this.selectionArgs = selectionArgs; 62 | this.sortOrder = sortOrder; 63 | } 64 | 65 | /** 66 | * Run the query. Should be called on a background thread. 67 | * 68 | * @param context The Context to use 69 | */ 70 | public Cursor runQuery(Context context) { 71 | return MediaLibrary.queryLibrary(context, table, projection, selection, selectionArgs, sortOrder); 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/vanilla/RemoteControl.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Adrian Ulrich 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | package ch.blinkenlights.android.vanilla; 19 | 20 | import android.content.Context; 21 | import android.os.Build; 22 | 23 | 24 | public class RemoteControl { 25 | 26 | /** 27 | * Returns a RemoteControl.Client implementation 28 | */ 29 | public RemoteControl.Client getClient(Context context) { 30 | return new RemoteControlImplLp(context); 31 | } 32 | 33 | /** 34 | * Interface definition of our RemoteControl API 35 | */ 36 | public interface Client { 37 | public void initializeRemote(); 38 | public void unregisterRemote(); 39 | public void reloadPreference(); 40 | public void updateRemote(Song song, int state, boolean keepPaused); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/vanilla/RemoteControlImplLp.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Adrian Ulrich 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | package ch.blinkenlights.android.vanilla; 19 | 20 | import android.annotation.TargetApi; 21 | import android.content.Context; 22 | 23 | @TargetApi(21) 24 | public class RemoteControlImplLp implements RemoteControl.Client { 25 | /** 26 | * This is just a placeholder implementation: On API 21, media buttons are handled in MediaSessionTracker. 27 | */ 28 | public RemoteControlImplLp(Context context) { 29 | } 30 | 31 | public void initializeRemote() { 32 | } 33 | 34 | public void unregisterRemote() { 35 | } 36 | 37 | public void reloadPreference() { 38 | } 39 | 40 | public void updateRemote(Song song, int state, boolean keepPaused) { 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/vanilla/SharedPrefHelper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019 Michael Samuel 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | package ch.blinkenlights.android.vanilla; 24 | 25 | import android.content.Context; 26 | import android.content.SharedPreferences; 27 | import android.preference.PreferenceManager; 28 | 29 | public final class SharedPrefHelper { 30 | 31 | /** 32 | * Cached app-wide SharedPreferences instance. 33 | */ 34 | private static SharedPreferences sSettings; 35 | 36 | private SharedPrefHelper(){}; 37 | 38 | /** 39 | * Return the SharedPreferences instance containing 40 | * Application settings. 41 | */ 42 | public static SharedPreferences getSettings(Context context) 43 | { 44 | if (sSettings == null) 45 | sSettings = PreferenceManager.getDefaultSharedPreferences(context); 46 | return sSettings; 47 | } 48 | 49 | 50 | } 51 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/vanilla/TimelineCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 Adrian Ulrich 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | package ch.blinkenlights.android.vanilla; 19 | 20 | public interface TimelineCallback { 21 | /** 22 | * Called when the song timeline position/size has changed 23 | */ 24 | void onPositionInfoChanged(); 25 | /** 26 | * The library contents changed and should be invalidated 27 | */ 28 | void onMediaChange(); 29 | /** 30 | * Notification about a change in the timeline 31 | */ 32 | void onTimelineChanged(); 33 | /** 34 | * Updates song at 'delta' 35 | */ 36 | void replaceSong(int delta, Song song); 37 | /** 38 | * Sets the currently active song 39 | */ 40 | void setSong(long uptime, Song song); 41 | /** 42 | * Sets the current playback state 43 | */ 44 | void setState(long uptime, int state); 45 | /** 46 | * The view/activity should re-create itself due to a theme change 47 | */ 48 | void recreate(); 49 | } 50 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/vanilla/TimestampedObject.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Adrian Ulrich 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | package ch.blinkenlights.android.vanilla; 19 | 20 | 21 | 22 | public class TimestampedObject { 23 | public long uptime; 24 | public Object object; 25 | 26 | /** 27 | * Encapsulates given object and marks the creation timestamp 28 | * in nanoseconds 29 | */ 30 | public TimestampedObject(Object object) { 31 | this.object = object; 32 | this.uptime = System.nanoTime(); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/android/vanilla/ViewHolder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 Adrian Ulrich 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | package ch.blinkenlights.android.vanilla; 19 | 20 | import android.view.View; 21 | import android.widget.TextView; 22 | import android.widget.ImageView; 23 | 24 | 25 | public class ViewHolder { 26 | public long id; 27 | public String title; 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/bastp/PageInfo.java: -------------------------------------------------------------------------------- 1 | package ch.blinkenlights.bastp; 2 | 3 | import java.io.IOException; 4 | import java.io.RandomAccessFile; 5 | 6 | public class PageInfo { 7 | 8 | long header_len; 9 | long payload_len; 10 | int type; 11 | boolean last_page; 12 | 13 | public static interface PageParser { 14 | PageInfo parse_stream_page(RandomAccessFile fh, long offset) throws IOException; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/java/ch/blinkenlights/bastp/RawFile.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 Google Inc. 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ 17 | 18 | package ch.blinkenlights.bastp; 19 | 20 | import java.io.IOException; 21 | import java.io.RandomAccessFile; 22 | import java.util.HashMap; 23 | 24 | public class RawFile extends Common { 25 | 26 | /** 27 | * Returns the tags of a Raw File which is just an empty HashMap. 28 | * This shall be used for raw streams with no (supported) tags. 29 | */ 30 | public HashMap getTags(RandomAccessFile s) throws IOException { 31 | HashMap tags = new HashMap(); 32 | return tags; 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /app/src/main/java/com/mobeta/android/dslv/DragSortItemViewCheckable.java: -------------------------------------------------------------------------------- 1 | package com.mobeta.android.dslv; 2 | 3 | import android.content.Context; 4 | import android.view.Gravity; 5 | import android.view.View; 6 | import android.view.View.MeasureSpec; 7 | import android.view.ViewGroup; 8 | import android.widget.AbsListView; 9 | import android.widget.Checkable; 10 | import android.util.Log; 11 | 12 | /** 13 | * Lightweight ViewGroup that wraps list items obtained from user's 14 | * ListAdapter. ItemView expects a single child that has a definite 15 | * height (i.e. the child's layout height is not MATCH_PARENT). 16 | * The width of 17 | * ItemView will always match the width of its child (that is, 18 | * the width MeasureSpec given to ItemView is passed directly 19 | * to the child, and the ItemView measured width is set to the 20 | * child's measured width). The height of ItemView can be anything; 21 | * the 22 | * 23 | * 24 | * The purpose of this class is to optimize slide 25 | * shuffle animations. 26 | */ 27 | public class DragSortItemViewCheckable extends DragSortItemView implements Checkable { 28 | 29 | public DragSortItemViewCheckable(Context context) { 30 | super(context); 31 | } 32 | 33 | @Override 34 | public boolean isChecked() { 35 | View child = getChildAt(0); 36 | if (child instanceof Checkable) 37 | return ((Checkable) child).isChecked(); 38 | else 39 | return false; 40 | } 41 | 42 | @Override 43 | public void setChecked(boolean checked) { 44 | View child = getChildAt(0); 45 | if (child instanceof Checkable) 46 | ((Checkable) child).setChecked(checked); 47 | } 48 | 49 | @Override 50 | public void toggle() { 51 | View child = getChildAt(0); 52 | if (child instanceof Checkable) 53 | ((Checkable) child).toggle(); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /app/src/main/res/color/tab_text_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/arrow_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/arrow_up.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_rating_star_off_mtrl_alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/btn_rating_star_off_mtrl_alpha.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/btn_rating_star_on_mtrl_alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/btn_rating_star_on_mtrl_alpha.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/empty.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/fallback_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/fallback_cover.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/fallback_cover_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/fallback_cover_large.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/file_document.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/file_document.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/file_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/file_image.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/file_music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/file_music.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/folder.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/grabber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/grabber.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_menu_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/ic_menu_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_menu_moreoverflow_normal_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/ic_menu_moreoverflow_normal_holo_dark.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_menu_music_library.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/ic_menu_music_library.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_menu_preferences.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/ic_menu_preferences.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_menu_search_holo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/ic_menu_search_holo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_menu_search_material.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/ic_menu_search_material.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_menu_sort_alphabetically.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/ic_menu_sort_alphabetically.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_add_to_homescreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_add_to_homescreen.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_add_to_playlist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_add_to_playlist.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_album.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_album.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_artist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_artist.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_details.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_details.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_edit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_enqueue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_enqueue.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_enqueue_as_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_enqueue_as_next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_expand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_expand.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_launch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_launch.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_move_to_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_move_to_bottom.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_move_to_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_move_to_top.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_play_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_play_all.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_plugins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_plugins.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/menu_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/menu_remove.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/previous.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/random_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/random_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/repeat_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/repeat_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/repeat_current_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/repeat_current_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/repeat_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/repeat_inactive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/repeat_inactive_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/repeat_inactive_service.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/shortcut_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/shortcut_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/shortcut_random.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/shortcut_random.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/shuffle_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/shuffle_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/shuffle_album_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/shuffle_album_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/shuffle_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/shuffle_inactive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/shuffle_inactive_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/shuffle_inactive_service.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/status_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/status_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/status_scan_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/status_scan_0.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/status_scan_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/status_scan_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/status_scan_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/status_scan_2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/status_scan_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/status_scan_3.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/status_scan_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/status_scan_4.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/stop_current_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/stop_current_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/vinyl_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/vinyl_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/vinyl_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/vinyl_right.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/widget_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/widget_bg.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/widget_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/widget_next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/widget_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/widget_pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/widget_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/widget_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/widget_previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-hdpi/widget_previous.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/arrow_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/arrow_up.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_rating_star_off_mtrl_alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/btn_rating_star_off_mtrl_alpha.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/btn_rating_star_on_mtrl_alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/btn_rating_star_on_mtrl_alpha.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/empty.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/fallback_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/fallback_cover.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/fallback_cover_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/fallback_cover_large.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/file_document.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/file_document.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/file_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/file_image.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/file_music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/file_music.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/folder.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/grabber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/grabber.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_menu_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/ic_menu_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/ic_menu_moreoverflow_normal_holo_dark.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_menu_music_library.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/ic_menu_music_library.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_menu_preferences.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/ic_menu_preferences.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_menu_search_holo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/ic_menu_search_holo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_menu_search_material.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/ic_menu_search_material.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_menu_sort_alphabetically.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/ic_menu_sort_alphabetically.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_add_to_homescreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_add_to_homescreen.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_add_to_playlist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_add_to_playlist.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_album.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_album.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_artist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_artist.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_details.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_details.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_edit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_enqueue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_enqueue.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_enqueue_as_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_enqueue_as_next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_expand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_expand.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_launch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_launch.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_move_to_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_move_to_bottom.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_move_to_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_move_to_top.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_play_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_play_all.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_plugins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_plugins.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/menu_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/menu_remove.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/previous.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/random_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/random_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/repeat_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/repeat_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/repeat_current_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/repeat_current_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/repeat_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/repeat_inactive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/repeat_inactive_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/repeat_inactive_service.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/shortcut_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/shortcut_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/shortcut_random.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/shortcut_random.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/shuffle_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/shuffle_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/shuffle_album_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/shuffle_album_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/shuffle_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/shuffle_inactive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/shuffle_inactive_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/shuffle_inactive_service.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/status_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/status_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/status_scan_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/status_scan_0.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/status_scan_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/status_scan_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/status_scan_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/status_scan_2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/status_scan_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/status_scan_3.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/status_scan_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/status_scan_4.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/stop_current_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/stop_current_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/vinyl_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/vinyl_right.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/widget_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/widget_bg.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/widget_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/widget_next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/widget_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/widget_pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/widget_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/widget_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/widget_previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-mdpi/widget_previous.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/ic_menu_moreoverflow.xml: -------------------------------------------------------------------------------- 1 | 16 | 21 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/ic_menu_search.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/inset_divider.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/unbound_ripple_light.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/arrow_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/arrow_up.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_rating_star_off_mtrl_alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/btn_rating_star_off_mtrl_alpha.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/btn_rating_star_on_mtrl_alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/btn_rating_star_on_mtrl_alpha.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/empty.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/fallback_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/fallback_cover.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/fallback_cover_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/fallback_cover_large.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/file_document.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/file_document.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/file_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/file_image.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/file_music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/file_music.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/folder.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/grabber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/grabber.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_menu_moreoverflow_normal_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/ic_menu_moreoverflow_normal_holo_dark.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_menu_search_holo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/ic_menu_search_holo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_menu_search_material.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/ic_menu_search_material.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_add_to_homescreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_add_to_homescreen.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_add_to_playlist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_add_to_playlist.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_album.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_album.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_artist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_artist.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_details.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_details.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_edit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_enqueue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_enqueue.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_enqueue_as_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_enqueue_as_next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_expand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_expand.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_launch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_launch.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_move_to_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_move_to_bottom.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_move_to_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_move_to_top.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_play_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_play_all.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_plugins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_plugins.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/menu_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/menu_remove.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/previous.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/random_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/random_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/repeat_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/repeat_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/repeat_current_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/repeat_current_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/repeat_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/repeat_inactive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/repeat_inactive_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/repeat_inactive_service.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/shortcut_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/shortcut_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/shortcut_random.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/shortcut_random.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/shuffle_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/shuffle_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/shuffle_album_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/shuffle_album_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/shuffle_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/shuffle_inactive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/shuffle_inactive_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/shuffle_inactive_service.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/status_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/status_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/status_scan_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/status_scan_0.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/status_scan_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/status_scan_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/status_scan_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/status_scan_2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/status_scan_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/status_scan_3.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/status_scan_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/status_scan_4.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/stop_current_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/stop_current_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/vinyl_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/vinyl_right.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/widget_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/widget_next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/widget_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/widget_pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/widget_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/widget_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/widget_previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xhdpi/widget_previous.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/arrow_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/arrow_up.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_rating_star_off_mtrl_alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/btn_rating_star_off_mtrl_alpha.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/btn_rating_star_on_mtrl_alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/btn_rating_star_on_mtrl_alpha.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/fallback_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/fallback_cover.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/fallback_cover_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/fallback_cover_large.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/file_document.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/file_document.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/file_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/file_image.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/file_music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/file_music.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/folder.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/grabber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/grabber.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_menu_moreoverflow_normal_holo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/ic_menu_moreoverflow_normal_holo_dark.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_menu_search_holo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/ic_menu_search_holo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_menu_search_material.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/ic_menu_search_material.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_add_to_homescreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_add_to_homescreen.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_add_to_playlist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_add_to_playlist.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_album.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_album.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_artist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_artist.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_delete.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_details.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_details.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_edit.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_enqueue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_enqueue.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_enqueue_as_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_enqueue_as_next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_expand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_expand.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_launch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_launch.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_move_to_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_move_to_bottom.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_move_to_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_move_to_top.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_play_all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_play_all.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_plugins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_plugins.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/menu_remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/menu_remove.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/preview_widget_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/preview_widget_d.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/preview_widget_e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/preview_widget_e.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/preview_widget_four_long.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/preview_widget_four_long.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/preview_widget_four_square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/preview_widget_four_square.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/preview_widget_four_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/preview_widget_four_white.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/preview_widget_one_cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/preview_widget_one_cell.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/previous.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/random_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/random_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/repeat_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/repeat_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/repeat_current_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/repeat_current_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/repeat_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/repeat_inactive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/repeat_inactive_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/repeat_inactive_service.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/shortcut_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/shortcut_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/shortcut_random.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/shortcut_random.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/shuffle_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/shuffle_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/shuffle_album_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/shuffle_album_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/shuffle_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/shuffle_inactive.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/shuffle_inactive_service.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/shuffle_inactive_service.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/status_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/status_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/status_scan_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/status_scan_0.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/status_scan_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/status_scan_1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/status_scan_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/status_scan_2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/status_scan_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/status_scan_3.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/status_scan_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/status_scan_4.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/stop_current_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/stop_current_active.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/vinyl_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/vinyl_right.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/widget_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/widget_next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/widget_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/widget_pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/widget_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/widget_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/widget_previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vanilla-music/vanilla/38e1761320cd22faa4533d69b0bb3fa9f4f0b20d/app/src/main/res/drawable-xxhdpi/widget_previous.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/hidden_next.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/hidden_pause.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/hidden_play.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_moreoverflow.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_menu_search.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/inset_divider.xml: -------------------------------------------------------------------------------- 1 | 4 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/plugin.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/unbound_ripple_light.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/layout/duration_input.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 24 | 25 | 32 | 33 | 37 | 38 | 45 | 46 | 50 | 51 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fancymenu_row.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | 15 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fancymenu_spacer.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_track_details.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/layout/full_playback.xml: -------------------------------------------------------------------------------- 1 | 2 | 23 | 25 | 26 | 31 | 32 | 40 | 48 | 49 | 50 | 51 | 52 | 53 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /app/src/main/res/layout/listview.xml: -------------------------------------------------------------------------------- 1 | 2 | 23 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/layout/mini_playback.xml: -------------------------------------------------------------------------------- 1 | 2 | 23 | 28 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/res/layout/permission_request.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 27 | 28 | 35 |