Fix aspect ratios of image posters, keeping them square when they are not video

This commit is contained in:
Synced Synapse 2015-02-16 11:36:21 +00:00
parent 63fdb8065c
commit 40fca3f9bc
5 changed files with 170 additions and 122 deletions

View File

@ -198,13 +198,13 @@ public class NotificationService extends Service
break;
case ListType.ItemsAll.TYPE_SONG:
title = getItemResult.title;
underTitle = getItemResult.displayartist + " - " + getItemResult.album;
underTitle = getItemResult.displayartist + " | " + getItemResult.album;
poster = getItemResult.thumbnail;
smallIcon = R.drawable.ic_headset_white_24dp;
break;
case ListType.ItemsAll.TYPE_MUSIC_VIDEO:
title = getItemResult.title;
underTitle = Utils.listStringConcat(getItemResult.artist, ", ") + " - " + getItemResult.album;
underTitle = Utils.listStringConcat(getItemResult.artist, ", ") + " | " + getItemResult.album;
poster = getItemResult.thumbnail;
smallIcon = R.drawable.ic_headset_white_24dp;
break;

View File

@ -600,78 +600,84 @@ public class NowPlayingFragment extends Fragment
descriptionPlot, votes, maxRating;
double rating;
if (getItemResult.type.equals(ListType.ItemsAll.TYPE_MOVIE)) {
switchToPanel(R.id.media_panel);
switch (getItemResult.type) {
case ListType.ItemsAll.TYPE_MOVIE:
switchToPanel(R.id.media_panel);
title = getItemResult.title;
underTitle = getItemResult.tagline;
art = getItemResult.fanart;
poster = getItemResult.thumbnail;
title = getItemResult.title;
underTitle = getItemResult.tagline;
art = getItemResult.fanart;
poster = getItemResult.thumbnail;
genreSeason = Utils.listStringConcat(getItemResult.genre, ", ");
year = String.format("%d", getItemResult.year);
descriptionPlot = getItemResult.plot;
rating = getItemResult.rating;
maxRating = getString(R.string.max_rating_video);
votes = (TextUtils.isEmpty(getItemResult.votes)) ? "" : String.format(getString(R.string.votes), getItemResult.votes);
} else if (getItemResult.type.equals(ListType.ItemsAll.TYPE_EPISODE)) {
switchToPanel(R.id.media_panel);
genreSeason = Utils.listStringConcat(getItemResult.genre, ", ");
year = String.format("%d", getItemResult.year);
descriptionPlot = getItemResult.plot;
rating = getItemResult.rating;
maxRating = getString(R.string.max_rating_video);
votes = (TextUtils.isEmpty(getItemResult.votes)) ? "" : String.format(getString(R.string.votes), getItemResult.votes);
break;
case ListType.ItemsAll.TYPE_EPISODE:
switchToPanel(R.id.media_panel);
title = getItemResult.title;
underTitle = getItemResult.showtitle;
art = getItemResult.thumbnail;
poster = getItemResult.art.poster;
title = getItemResult.title;
underTitle = getItemResult.showtitle;
art = getItemResult.thumbnail;
poster = getItemResult.art.poster;
genreSeason = String.format(getString(R.string.season_episode), getItemResult.season, getItemResult.episode);
year = getItemResult.premiered;
descriptionPlot = getItemResult.plot;
rating = getItemResult.rating;
maxRating = getString(R.string.max_rating_video);
votes = (TextUtils.isEmpty(getItemResult.votes)) ? "" : String.format(getString(R.string.votes), getItemResult.votes);
} else if (getItemResult.type.equals(ListType.ItemsAll.TYPE_SONG)) {
switchToPanel(R.id.media_panel);
genreSeason = String.format(getString(R.string.season_episode), getItemResult.season, getItemResult.episode);
year = getItemResult.premiered;
descriptionPlot = getItemResult.plot;
rating = getItemResult.rating;
maxRating = getString(R.string.max_rating_video);
votes = (TextUtils.isEmpty(getItemResult.votes)) ? "" : String.format(getString(R.string.votes), getItemResult.votes);
break;
case ListType.ItemsAll.TYPE_SONG:
switchToPanel(R.id.media_panel);
title = getItemResult.title;
underTitle = getItemResult.displayartist + " \n" + getItemResult.album;
art = getItemResult.fanart;
poster = getItemResult.thumbnail;
title = getItemResult.title;
underTitle = getItemResult.displayartist + " | " + getItemResult.album;
art = getItemResult.fanart;
poster = getItemResult.thumbnail;
genreSeason = Utils.listStringConcat(getItemResult.genre, ", ");
year = String.format("%d", getItemResult.year);
descriptionPlot = getItemResult.description;
rating = getItemResult.rating;
maxRating = getString(R.string.max_rating_music);
votes = (TextUtils.isEmpty(getItemResult.votes)) ? "" : String.format(getString(R.string.votes), getItemResult.votes);
} else if (getItemResult.type.equals(ListType.ItemsAll.TYPE_MUSIC_VIDEO)) {
switchToPanel(R.id.media_panel);
genreSeason = Utils.listStringConcat(getItemResult.genre, ", ");
year = String.format("%d", getItemResult.year);
descriptionPlot = getItemResult.description;
rating = getItemResult.rating;
maxRating = getString(R.string.max_rating_music);
votes = (TextUtils.isEmpty(getItemResult.votes)) ? "" : String.format(getString(R.string.votes), getItemResult.votes);
break;
case ListType.ItemsAll.TYPE_MUSIC_VIDEO:
switchToPanel(R.id.media_panel);
title = getItemResult.title;
underTitle = Utils.listStringConcat(getItemResult.artist, ", ")
+ " \n" + getItemResult.album;
art = getItemResult.fanart;
poster = getItemResult.thumbnail;
title = getItemResult.title;
underTitle = Utils.listStringConcat(getItemResult.artist, ", ")
+ " | " + getItemResult.album;
art = getItemResult.fanart;
poster = getItemResult.thumbnail;
genreSeason = Utils.listStringConcat(getItemResult.genre, ", ");
year = String.format("%d", getItemResult.year);
descriptionPlot = getItemResult.plot;
rating = 0;
maxRating = null;
votes = null;
} else {
// Other type, just present basic info
switchToPanel(R.id.media_panel);
genreSeason = Utils.listStringConcat(getItemResult.genre, ", ");
year = String.format("%d", getItemResult.year);
descriptionPlot = getItemResult.plot;
rating = 0;
maxRating = null;
votes = null;
break;
default:
// Other type, just present basic info
switchToPanel(R.id.media_panel);
title = getItemResult.label;
underTitle = "";
art = getItemResult.fanart;
poster = getItemResult.thumbnail;
title = getItemResult.label;
underTitle = "";
art = getItemResult.fanart;
poster = getItemResult.thumbnail;
genreSeason = null;
year = null;
descriptionPlot = null;
rating = 0;
maxRating = null;
votes = null;
genreSeason = null;
year = null;
descriptionPlot = null;
rating = 0;
maxRating = null;
votes = null;
break;
}
mediaTitle.setText(title);
@ -743,6 +749,17 @@ public class NowPlayingFragment extends Fragment
mediaPoster.setVisibility(View.VISIBLE);
int posterWidth = resources.getDimensionPixelOffset(R.dimen.now_playing_poster_width);
int posterHeight = resources.getDimensionPixelOffset(R.dimen.now_playing_poster_height);
// If not video, change aspect ration of poster to a square
boolean isVideo = (getItemResult.type.equals(ListType.ItemsAll.TYPE_MOVIE)) ||
(getItemResult.type.equals(ListType.ItemsAll.TYPE_EPISODE));
if (!isVideo) {
ViewGroup.LayoutParams layoutParams = mediaPoster.getLayoutParams();
layoutParams.height = layoutParams.width;
mediaPoster.setLayoutParams(layoutParams);
posterHeight = posterWidth;
}
UIUtils.loadImageWithCharacterAvatar(getActivity(), hostManager,
poster, title,
mediaPoster, posterWidth, posterHeight);

View File

@ -614,33 +614,39 @@ public class PlaylistFragment extends Fragment
// Differentiate between media
String title, details, artUrl;
int duration;
if (item.type.equals(ListType.ItemsAll.TYPE_MOVIE)) {
title = item.title;
details = item.tagline;
artUrl = item.thumbnail;
duration = item.runtime;
} else if (item.type.equals(ListType.ItemsAll.TYPE_EPISODE)) {
title = item.title;
String season = String.format(getString(R.string.season_episode_abbrev), item.season, item.episode);
details = String.format("%s | %s", item.showtitle, season);
artUrl = item.art.poster;
duration = item.runtime;
} else if (item.type.equals(ListType.ItemsAll.TYPE_SONG)) {
title = item.title;
details = item.displayartist + " | " + item.album;
artUrl = item.thumbnail;
duration = item.duration;
} else if (item.type.equals(ListType.ItemsAll.TYPE_MUSIC_VIDEO)) {
title = item.title;
details = Utils.listStringConcat(item.artist, ", ") + " | " + item.album;
artUrl = item.thumbnail;
duration = item.runtime;
} else {
// Don't yet recognize this type
title = item.label;
details = item.type;
artUrl = item.thumbnail;
duration = item.runtime;
switch (item.type) {
case ListType.ItemsAll.TYPE_MOVIE:
title = item.title;
details = item.tagline;
artUrl = item.thumbnail;
duration = item.runtime;
break;
case ListType.ItemsAll.TYPE_EPISODE:
title = item.title;
String season = String.format(getString(R.string.season_episode_abbrev), item.season, item.episode);
details = String.format("%s | %s", item.showtitle, season);
artUrl = item.art.poster;
duration = item.runtime;
break;
case ListType.ItemsAll.TYPE_SONG:
title = item.title;
details = item.displayartist + " | " + item.album;
artUrl = item.thumbnail;
duration = item.duration;
break;
case ListType.ItemsAll.TYPE_MUSIC_VIDEO:
title = item.title;
details = Utils.listStringConcat(item.artist, ", ") + " | " + item.album;
artUrl = item.thumbnail;
duration = item.runtime;
break;
default:
// Don't yet recognize this type
title = item.label;
details = item.type;
artUrl = item.thumbnail;
duration = item.runtime;
break;
}
viewHolder.title.setText(title);
@ -649,10 +655,20 @@ public class PlaylistFragment extends Fragment
viewHolder.position = position;
int artWidth = getResources().getDimensionPixelSize(R.dimen.playlist_art_width);
int artHeigth = getResources().getDimensionPixelSize(R.dimen.playlist_art_heigth);
int artHeight = getResources().getDimensionPixelSize(R.dimen.playlist_art_heigth);
// If not video, change aspect ration of poster to a square
boolean isVideo = (item.type.equals(ListType.ItemsAll.TYPE_MOVIE)) ||
(item.type.equals(ListType.ItemsAll.TYPE_EPISODE));
if (!isVideo) {
ViewGroup.LayoutParams layoutParams = viewHolder.art.getLayoutParams();
layoutParams.width = layoutParams.height;
viewHolder.art.setLayoutParams(layoutParams);
artWidth = artHeight;
}
UIUtils.loadImageWithCharacterAvatar(getActivity(), hostManager,
artUrl, title,
viewHolder.art, artWidth, artHeigth);
viewHolder.art, artWidth, artHeight);
// For the popupmenu
viewHolder.contextMenu.setTag(position);

View File

@ -345,41 +345,56 @@ public class RemoteFragment extends Fragment
private void setNowPlayingInfo(ListType.ItemsAll nowPlaying,
PlayerType.PropertyValue properties) {
String title, underTitle, thumbnailUrl;
if (nowPlaying.type.equals(ListType.ItemsAll.TYPE_MOVIE)) {
switchToPanel(R.id.media_panel, true);
switch (nowPlaying.type) {
case ListType.ItemsAll.TYPE_MOVIE:
switchToPanel(R.id.media_panel, true);
title = nowPlaying.title;
underTitle = nowPlaying.tagline;
thumbnailUrl = nowPlaying.thumbnail;
} else if (nowPlaying.type.equals(ListType.ItemsAll.TYPE_EPISODE)) {
switchToPanel(R.id.media_panel, true);
title = nowPlaying.title;
underTitle = nowPlaying.tagline;
thumbnailUrl = nowPlaying.thumbnail;
break;
case ListType.ItemsAll.TYPE_EPISODE:
switchToPanel(R.id.media_panel, true);
title = nowPlaying.title;
String season = String.format(getString(R.string.season_episode_abbrev), nowPlaying.season, nowPlaying.episode);
underTitle = String.format("%s | %s", nowPlaying.showtitle, season);
thumbnailUrl = nowPlaying.art.poster;
} else if (nowPlaying.type.equals(ListType.ItemsAll.TYPE_SONG)) {
switchToPanel(R.id.media_panel, true);
title = nowPlaying.title;
String season = String.format(getString(R.string.season_episode_abbrev), nowPlaying.season, nowPlaying.episode);
underTitle = String.format("%s | %s", nowPlaying.showtitle, season);
thumbnailUrl = nowPlaying.art.poster;
break;
case ListType.ItemsAll.TYPE_SONG:
switchToPanel(R.id.media_panel, true);
title = nowPlaying.title;
underTitle = nowPlaying.displayartist + " | " + nowPlaying.album;
thumbnailUrl = nowPlaying.thumbnail;
} else if (nowPlaying.type.equals(ListType.ItemsAll.TYPE_MUSIC_VIDEO)) {
switchToPanel(R.id.media_panel, true);
title = nowPlaying.title;
underTitle = nowPlaying.displayartist + " | " + nowPlaying.album;
thumbnailUrl = nowPlaying.thumbnail;
break;
case ListType.ItemsAll.TYPE_MUSIC_VIDEO:
switchToPanel(R.id.media_panel, true);
title = nowPlaying.title;
underTitle = Utils.listStringConcat(nowPlaying.artist, ", ") + " | " + nowPlaying.album;
thumbnailUrl = nowPlaying.thumbnail;
} else {
switchToPanel(R.id.media_panel, true);
title = nowPlaying.label;
underTitle = "";
thumbnailUrl = nowPlaying.thumbnail;
title = nowPlaying.title;
underTitle = Utils.listStringConcat(nowPlaying.artist, ", ") + " | " + nowPlaying.album;
thumbnailUrl = nowPlaying.thumbnail;
break;
default:
switchToPanel(R.id.media_panel, true);
title = nowPlaying.label;
underTitle = "";
thumbnailUrl = nowPlaying.thumbnail;
break;
}
nowPlayingTitle.setText(title);
nowPlayingDetails.setText(underTitle);
// // If not video, change aspect ration of poster to a square
// boolean isVideo = (nowPlaying.type.equals(ListType.ItemsAll.TYPE_MOVIE)) ||
// (nowPlaying.type.equals(ListType.ItemsAll.TYPE_EPISODE));
// if (!isVideo) {
// ViewGroup.LayoutParams layoutParams = thumbnail.getLayoutParams();
// layoutParams.width = layoutParams.height;
// thumbnail.setLayoutParams(layoutParams);
// }
UIUtils.loadImageWithCharacterAvatar(getActivity(), hostManager,
thumbnailUrl, title,
thumbnail, thumbnail.getWidth(), thumbnail.getHeight());

View File

@ -60,7 +60,7 @@
<dimen name="navigation_drawer_item_height">48dp</dimen>
<dimen name="navigation_drawer_item_hosts_height">168dp</dimen>
<dimen name="remote_poster_width">88dp</dimen>
<dimen name="remote_poster_width">98dp</dimen>
<dimen name="remote_poster_height">140dp</dimen>
<dimen name="now_playing_poster_width">112dp</dimen>
@ -120,10 +120,10 @@
<dimen name="notification_expanded_height">128dp</dimen>
<dimen name="notification_art_default_height">64dp</dimen>
<dimen name="notification_art_default_width">64dp</dimen>
<dimen name="notification_art_slim_width">42dp</dimen>
<dimen name="notification_art_slim_width">44dp</dimen>
<dimen name="notification_expanded_art_default_height">128dp</dimen>
<dimen name="notification_expanded_art_default_width">128dp</dimen>
<dimen name="notification_expanded_art_slim_width">84dp</dimen>
<dimen name="notification_expanded_art_slim_width">88dp</dimen>
</resources>