diff --git a/app/src/main/java/com/cappielloantonio/tempo/glide/CustomGlideRequest.java b/app/src/main/java/com/cappielloantonio/tempo/glide/CustomGlideRequest.java index 0f4740ac..08dee602 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/glide/CustomGlideRequest.java +++ b/app/src/main/java/com/cappielloantonio/tempo/glide/CustomGlideRequest.java @@ -44,43 +44,38 @@ public class CustomGlideRequest { } public static RequestOptions createRequestOptions(Context context, String item, ResourceType type) { - Drawable drawable = new ColorDrawable(SurfaceColors.SURFACE_5.getColor(context)); - if (type != ResourceType.Unknown) { - int res = 0; - switch (type) { - case Album: - res = R.drawable.ic_album_placeholder; - break; - case Artist: - res = R.drawable.ic_artist_placeholder; - break; - case Directory: - res = R.drawable.ic_directory_placeholder; - break; - case Playlist: - res = R.drawable.ic_playlist_placeholder; - break; - case Podcast: - res = R.drawable.ic_podcast_placeholder; - break; - case Radio: - res = R.drawable.ic_radio_placeholder; - break; - case Song: - res = R.drawable.ic_song_placeholder; - break; - } - drawable = AppCompatResources.getDrawable(context, res); - } return new RequestOptions() - .placeholder(drawable) - .fallback(drawable) - .error(new ColorDrawable(SurfaceColors.SURFACE_5.getColor(context))) + .placeholder(new ColorDrawable(SurfaceColors.SURFACE_5.getColor(context))) + .fallback(getPlaceholder(context, type)) + .error(getPlaceholder(context, type)) .diskCacheStrategy(DEFAULT_DISK_CACHE_STRATEGY) .signature(new ObjectKey(item != null ? item : 0)) .transform(new CenterCrop(), new RoundedCorners(CustomGlideRequest.CORNER_RADIUS)); } + @Nullable + private static Drawable getPlaceholder(Context context, ResourceType type) { + switch (type) { + case Album: + return AppCompatResources.getDrawable(context, R.drawable.ic_placeholder_album); + case Artist: + return AppCompatResources.getDrawable(context, R.drawable.ic_placeholder_artist); + case Directory: + return AppCompatResources.getDrawable(context, R.drawable.ic_placeholder_directory); + case Playlist: + return AppCompatResources.getDrawable(context, R.drawable.ic_placeholder_playlist); + case Podcast: + return AppCompatResources.getDrawable(context, R.drawable.ic_placeholder_podcast); + case Radio: + return AppCompatResources.getDrawable(context, R.drawable.ic_placeholder_radio); + case Song: + return AppCompatResources.getDrawable(context, R.drawable.ic_placeholder_song); + default: + case Unknown: + return new ColorDrawable(SurfaceColors.SURFACE_5.getColor(context)); + } + } + public static String createUrl(String item, int size) { Map params = App.getSubsonicClientInstance(false).getParams(); @@ -125,14 +120,10 @@ public class CustomGlideRequest { requestManager.applyDefaultRequestOptions(createRequestOptions(context, item, type)); } - public static Builder from(Context context, String item, @Nullable ResourceType type) { + public static Builder from(Context context, String item, ResourceType type) { return new Builder(context, item, type); } - public static Builder from(Context context, String item) { - return Builder.from(context, item, ResourceType.Unknown); - } - public RequestBuilder build() { return requestManager .load(item) diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/DownloadedBottomSheetDialog.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/DownloadedBottomSheetDialog.java index 6e9229f3..fba0d3ee 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/DownloadedBottomSheetDialog.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/bottomsheetdialog/DownloadedBottomSheetDialog.java @@ -79,7 +79,7 @@ public class DownloadedBottomSheetDialog extends BottomSheetDialogFragment imple private void init(View view) { ImageView coverAlbum = view.findViewById(R.id.group_cover_image_view); - CustomGlideRequest.Builder.from(requireContext(), songs.get(new Random().nextInt(songs.size())).getCoverArtId()).build().into(coverAlbum); + CustomGlideRequest.Builder.from(requireContext(), songs.get(new Random().nextInt(songs.size())).getCoverArtId(), CustomGlideRequest.ResourceType.Unknown).build().into(coverAlbum); TextView groupTitleView = view.findViewById(R.id.group_title_text_view); groupTitleView.setText(MusicUtil.getReadableString(this.groupTitle)); diff --git a/app/src/main/res/drawable/ic_album_placeholder.xml b/app/src/main/res/drawable/ic_placeholder_album.xml similarity index 85% rename from app/src/main/res/drawable/ic_album_placeholder.xml rename to app/src/main/res/drawable/ic_placeholder_album.xml index 8c90306d..1078093e 100644 --- a/app/src/main/res/drawable/ic_album_placeholder.xml +++ b/app/src/main/res/drawable/ic_placeholder_album.xml @@ -1,5 +1,4 @@ - + android:pathData="M 0 0 L 24 0 L 24 24 L 0 24 Z" + android:strokeWidth="1" /> + android:pathData="M 12 5 C 8.136 5 5 8.136 5 12 C 5 15.864 8.136 19 12 19 C 15.864 19 19 15.864 19 12 C 19 8.136 15.864 5 12 5 Z M 12 15.15 C 10.257 15.15 8.85 13.743 8.85 12 C 8.85 10.257 10.257 8.85 12 8.85 C 13.743 8.85 15.15 10.257 15.15 12 C 15.15 13.743 13.743 15.15 12 15.15 Z M 12 11.3 C 11.615 11.3 11.3 11.615 11.3 12 C 11.3 12.385 11.615 12.7 12 12.7 C 12.385 12.7 12.7 12.385 12.7 12 C 12.7 11.615 12.385 11.3 12 11.3 Z" + android:strokeWidth="1" /> diff --git a/app/src/main/res/drawable/ic_artist_placeholder.xml b/app/src/main/res/drawable/ic_placeholder_artist.xml similarity index 88% rename from app/src/main/res/drawable/ic_artist_placeholder.xml rename to app/src/main/res/drawable/ic_placeholder_artist.xml index f6b215c0..16b8b117 100644 --- a/app/src/main/res/drawable/ic_artist_placeholder.xml +++ b/app/src/main/res/drawable/ic_placeholder_artist.xml @@ -1,5 +1,4 @@ - + android:pathData="M 0 0 L 24 0 L 24 24 L 0 24 Z" + android:strokeWidth="1" /> + android:fillType="evenOdd" + android:pathData="M 14.531 12.601 C 15.273 13.096 15.793 13.767 15.793 14.661 L 15.793 16.258 L 17.961 16.258 L 17.961 14.661 C 17.961 13.501 16.026 12.814 14.531 12.601 Z M 8.207 9.871 C 8.207 9.307 8.435 8.765 8.842 8.366 C 9.248 7.967 9.8 7.742 10.374 7.742 C 10.949 7.742 11.501 7.967 11.907 8.366 C 12.313 8.765 12.542 9.307 12.542 9.871 C 12.542 10.435 12.313 10.978 11.907 11.376 C 11.501 11.775 10.949 12 10.374 12 C 9.8 12 9.248 11.775 8.842 11.376 C 8.435 10.978 8.207 10.435 8.207 9.871 M 13.626 12 C 14.823 12 15.793 11.047 15.793 9.871 C 15.793 8.695 14.823 7.742 13.626 7.742 C 13.371 7.742 13.133 7.795 12.905 7.87 C 13.355 8.418 13.626 9.115 13.626 9.871 C 13.626 10.627 13.355 11.324 12.905 11.872 C 13.133 11.947 13.371 12 13.626 12 Z M 10.374 12.532 C 8.927 12.532 6.039 13.245 6.039 14.661 L 6.039 16.258 L 14.71 16.258 L 14.71 14.661 C 14.71 13.245 11.821 12.532 10.374 12.532 Z" + android:strokeWidth="1" /> diff --git a/app/src/main/res/drawable/ic_directory_placeholder.xml b/app/src/main/res/drawable/ic_placeholder_directory.xml similarity index 83% rename from app/src/main/res/drawable/ic_directory_placeholder.xml rename to app/src/main/res/drawable/ic_placeholder_directory.xml index 0fd911bf..a91904a3 100644 --- a/app/src/main/res/drawable/ic_directory_placeholder.xml +++ b/app/src/main/res/drawable/ic_placeholder_directory.xml @@ -1,5 +1,4 @@ - + android:pathData="M 0 0 L 24 0 L 24 24 L 0 24 Z" + android:strokeWidth="1" /> + android:pathData="M 10.834 7.335 L 7.335 7.335 C 6.694 7.335 6.175 7.86 6.175 8.502 L 6.169 15.498 C 6.169 16.14 6.694 16.665 7.335 16.665 L 16.665 16.665 C 17.306 16.665 17.831 16.14 17.831 15.498 L 17.831 9.668 C 17.831 9.026 17.306 8.502 16.665 8.502 L 12 8.502 Z" + android:strokeWidth="1" /> diff --git a/app/src/main/res/drawable/ic_playlist_placeholder.xml b/app/src/main/res/drawable/ic_placeholder_playlist.xml similarity index 86% rename from app/src/main/res/drawable/ic_playlist_placeholder.xml rename to app/src/main/res/drawable/ic_placeholder_playlist.xml index a367231b..4e7e0d4e 100644 --- a/app/src/main/res/drawable/ic_playlist_placeholder.xml +++ b/app/src/main/res/drawable/ic_placeholder_playlist.xml @@ -1,5 +1,4 @@ - + android:pathData="M 0 0 L 24 0 L 24 24 L 0 24 Z" + android:strokeWidth="1" /> + android:pathData="M 13.593 8.061 L 5.946 8.061 L 5.946 9.329 L 13.593 9.329 Z M 13.593 10.598 L 5.946 10.598 L 5.946 11.866 L 13.593 11.866 Z M 5.946 14.403 L 11.044 14.403 L 11.044 13.134 L 5.946 13.134 Z M 14.867 8.061 L 14.867 13.249 C 14.669 13.179 14.453 13.134 14.23 13.134 C 13.172 13.134 12.318 13.984 12.318 15.037 C 12.318 16.09 13.172 16.939 14.23 16.939 C 15.288 16.939 16.141 16.09 16.141 15.037 L 16.141 9.329 L 18.053 9.329 L 18.053 8.061 Z" + android:strokeWidth="1" /> diff --git a/app/src/main/res/drawable/ic_podcast_placeholder.xml b/app/src/main/res/drawable/ic_placeholder_podcast.xml similarity index 89% rename from app/src/main/res/drawable/ic_podcast_placeholder.xml rename to app/src/main/res/drawable/ic_placeholder_podcast.xml index eac90bb3..6a681a05 100644 --- a/app/src/main/res/drawable/ic_podcast_placeholder.xml +++ b/app/src/main/res/drawable/ic_placeholder_podcast.xml @@ -1,5 +1,4 @@ - + android:pathData="M 0 0 L 24 0 L 24 24 L 0 24 Z" + android:strokeWidth="1" /> + android:pathData="M 13.4 12 C 13.4 12.518 13.12 12.966 12.7 13.204 L 12.7 19 L 11.3 19 L 11.3 13.204 C 10.88 12.959 10.6 12.518 10.6 12 C 10.6 11.23 11.23 10.6 12 10.6 C 12.77 10.6 13.4 11.23 13.4 12 Z M 12 7.8 C 9.683 7.8 7.8 9.683 7.8 12 C 7.8 13.218 8.325 14.317 9.158 15.08 L 10.152 14.086 C 9.571 13.575 9.2 12.833 9.2 12 C 9.2 10.453 10.453 9.2 12 9.2 C 13.547 9.2 14.8 10.453 14.8 12 C 14.8 12.833 14.429 13.575 13.848 14.086 L 14.842 15.08 C 15.675 14.317 16.2 13.218 16.2 12 C 16.2 9.683 14.317 7.8 12 7.8 Z M 12 5 C 8.136 5 5 8.136 5 12 C 5 13.995 5.84 15.787 7.177 17.068 L 8.171 16.074 C 7.086 15.052 6.4 13.603 6.4 12 C 6.4 8.913 8.913 6.4 12 6.4 C 15.087 6.4 17.6 8.913 17.6 12 C 17.6 13.603 16.914 15.052 15.829 16.074 L 16.823 17.068 C 18.16 15.787 19 13.995 19 12 C 19 8.136 15.864 5 12 5 Z" + android:strokeWidth="1" /> diff --git a/app/src/main/res/drawable/ic_radio_placeholder.xml b/app/src/main/res/drawable/ic_placeholder_radio.xml similarity index 87% rename from app/src/main/res/drawable/ic_radio_placeholder.xml rename to app/src/main/res/drawable/ic_placeholder_radio.xml index 407f4ef6..cefe0961 100644 --- a/app/src/main/res/drawable/ic_radio_placeholder.xml +++ b/app/src/main/res/drawable/ic_placeholder_radio.xml @@ -1,5 +1,4 @@ - + android:pathData="M 0 0 L 24 0 L 24 24 L 0 24 Z" + android:strokeWidth="1" /> + android:pathData="M 7.119 8.519 C 6.712 8.675 6.428 9.087 6.428 9.55 L 6.428 16.237 C 6.428 16.85 6.924 17.351 7.542 17.351 L 16.458 17.351 C 17.076 17.351 17.572 16.85 17.572 16.237 L 17.572 9.55 C 17.572 8.931 17.076 8.435 16.458 8.435 L 9.938 8.435 L 14.541 6.574 L 14.162 5.649 Z M 9.214 16.237 C 8.289 16.237 7.542 15.49 7.542 14.565 C 7.542 13.64 8.289 12.893 9.214 12.893 C 10.139 12.893 10.886 13.64 10.886 14.565 C 10.886 15.49 10.139 16.237 9.214 16.237 Z M 16.458 11.779 L 15.343 11.779 L 15.343 10.664 L 14.229 10.664 L 14.229 11.779 L 7.542 11.779 L 7.542 9.55 L 16.458 9.55 Z" + android:strokeWidth="1" /> diff --git a/app/src/main/res/drawable/ic_song_placeholder.xml b/app/src/main/res/drawable/ic_placeholder_song.xml similarity index 83% rename from app/src/main/res/drawable/ic_song_placeholder.xml rename to app/src/main/res/drawable/ic_placeholder_song.xml index 673427cd..c675fc5e 100644 --- a/app/src/main/res/drawable/ic_song_placeholder.xml +++ b/app/src/main/res/drawable/ic_placeholder_song.xml @@ -1,5 +1,4 @@ - + android:pathData="M 0 0 L 24 0 L 24 24 L 0 24 Z" + android:strokeWidth="1" /> + android:pathData="M 12.15 6.255 L 12.15 12.989 C 11.775 12.772 11.342 12.638 10.878 12.638 C 9.472 12.638 8.334 13.781 8.334 15.192 C 8.334 16.602 9.472 17.745 10.878 17.745 C 12.284 17.745 13.422 16.602 13.422 15.192 L 13.422 8.808 L 15.966 8.808 L 15.966 6.255 Z" + android:strokeWidth="1" />