Library annotations (#638)

Populate album name / artist name / song counts across different view as "subtitle" that enriches the main info displayed in the title.
This includes the notification, different list-based views, the main menu, the now-playing view, search result...

For example, the included images show the added annotations highlighted with white underline
![screenshot_20190108-035119](https://user-images.githubusercontent.com/13333482/50807749-ce600000-12fb-11e9-86c6-9efb41389194.jpg)
![screenshot_20190108-035137](https://user-images.githubusercontent.com/13333482/50807750-ce600000-12fb-11e9-90e2-650aae0b159a.jpg)
![screenshot_20190108-035228](https://user-images.githubusercontent.com/13333482/50807751-ce600000-12fb-11e9-8f74-b04dbae0c6d2.jpg)
![screenshot_20190108-035244](https://user-images.githubusercontent.com/13333482/50807752-cef89680-12fb-11e9-892c-80fd55805c11.jpg)
![screenshot_20190108-035414](https://user-images.githubusercontent.com/13333482/50807753-cef89680-12fb-11e9-80a1-ee784c855876.jpg)
This commit is contained in:
soncaokim 2019-01-22 04:48:25 +01:00 committed by Eugene
commit b0a4ffdcb5
14 changed files with 100 additions and 47 deletions

View file

@ -72,7 +72,7 @@ public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.ViewHolder
case ALBUM:
final Album album = (Album) dataSet.get(position);
holder.title.setText(album.getTitle());
holder.text.setText(album.getArtistName());
holder.text.setText(MusicUtil.getAlbumInfoString(activity, album));
SongGlideRequest.Builder.from(Glide.with(activity), album.safeGetFirstSong())
.checkIgnoreMediaStore(activity).build()
.into(holder.image);
@ -87,7 +87,7 @@ public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.ViewHolder
case SONG:
final Song song = (Song) dataSet.get(position);
holder.title.setText(song.title);
holder.text.setText(song.albumName);
holder.text.setText(MusicUtil.getSongInfoString(song));
break;
default:
holder.title.setText(dataSet.get(position).toString());

View file

@ -27,6 +27,7 @@ import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView;
import java.util.ArrayList;
@ -84,7 +85,10 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
}
protected String getAlbumText(Album album) {
return album.getArtistName();
return MusicUtil.buildInfoString(
album.getArtistName(),
MusicUtil.getSongCountString(activity, album.songs.size())
);
}
@Override

View file

@ -158,7 +158,7 @@ public class SongAdapter extends AbsMultiSelectAdapter<SongAdapter.ViewHolder, S
}
protected String getSongText(Song song) {
return song.artistName;
return MusicUtil.getSongInfoString(song);
}
@Override