diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java index d5b18621..7a9984fb 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java @@ -72,7 +72,7 @@ public class SearchAdapter extends RecyclerView.Adapter songs) { final long duration = getTotalDuration(context, songs); - return MusicUtil.getSongCountString(context, songs.size()) + " • " + MusicUtil.getReadableDurationString(duration); + + return MusicUtil.buildInfoString( + MusicUtil.getSongCountString(context, songs.size()), + MusicUtil.getReadableDurationString(duration) + ); } @NonNull @@ -162,6 +187,28 @@ public class MusicUtil { } } + /** + * Build a concatenated string from the provided arguments + * The intended purpose is to show extra annotations + * to a music library item. + * Ex: for a given album --> buildInfoString(album.artist, album.songCount) + */ + public static String buildInfoString(@NonNull final String string1, @NonNull final String string2) + { + // Skip empty strings + if (string1.isEmpty()) {return string2;} + if (string2.isEmpty()) {return string1;} + + final String separator = " • "; + + final StringBuilder builder = new StringBuilder(); + builder.append(string1); + builder.append(separator); + builder.append(string2); + + return builder.toString(); + } + //iTunes uses for example 1002 for track 2 CD1 or 3011 for track 11 CD3. //this method converts those values to normal tracknumbers public static int getFixedTrackNumber(int trackNumberToFix) {