Now passing all info from MovieListFragment to MovieDetailsFragment

This commit is contained in:
Martijn Brekhof 2015-11-23 16:46:41 +01:00
parent a871b15308
commit 5ca6f99cb7
2 changed files with 47 additions and 21 deletions

View File

@ -81,7 +81,10 @@ public class MovieDetailsFragment extends AbstractDetailsFragment
public static final String BUNDLE_KEY_MOVIEPLOT = "movie_plot";
public static final String BUNDLE_KEY_MOVIEID = "movie_id";
public static final String POSTER_TRANS_NAME = "POSTER_TRANS_NAME";
public static final String BUNDLE_KEY_MOVIEGENRES = "movie_genres";
public static final String BUNDLE_KEY_MOVIEYEAR = "movie_year";
public static final String BUNDLE_KEY_MOVIERUNTIME = "movie_runtime";
public static final String BUNDLE_KEY_MOVIERATING = "movie_rating";
// Loader IDs
private static final int LOADER_MOVIE = 0,
LOADER_CAST = 1;
@ -143,7 +146,10 @@ public class MovieDetailsFragment extends AbstractDetailsFragment
args.putInt(BUNDLE_KEY_MOVIEID, vh.movieId);
args.putString(BUNDLE_KEY_MOVIETITLE, vh.movieTitle);
args.putString(BUNDLE_KEY_MOVIEPLOT, vh.movieTagline);
args.putString(BUNDLE_KEY_MOVIEGENRES, vh.movieGenres);
args.putInt(BUNDLE_KEY_MOVIEYEAR, vh.movieYear);
args.putInt(BUNDLE_KEY_MOVIERUNTIME, vh.movieRuntime);
args.putDouble(BUNDLE_KEY_MOVIERATING, vh.movieRating);
if( Utils.isLollipopOrLater()) {
args.putString(POSTER_TRANS_NAME, vh.artView.getTransitionName());
}
@ -155,7 +161,8 @@ public class MovieDetailsFragment extends AbstractDetailsFragment
@TargetApi(21)
@Override
protected View createView(LayoutInflater inflater, ViewGroup container) {
movieId = getArguments().getInt(BUNDLE_KEY_MOVIEID, -1);
Bundle bundle = getArguments();
movieId = bundle.getInt(BUNDLE_KEY_MOVIEID, -1);
if (movieId == -1) {
// There's nothing to show
@ -186,8 +193,11 @@ public class MovieDetailsFragment extends AbstractDetailsFragment
mediaPoster.setTransitionName(getArguments().getString(POSTER_TRANS_NAME));
}
mediaTitle.setText(getArguments().getString(BUNDLE_KEY_MOVIETITLE));
mediaUndertitle.setText(getArguments().getString(BUNDLE_KEY_MOVIEPLOT));
mediaTitle.setText(bundle.getString(BUNDLE_KEY_MOVIETITLE));
mediaUndertitle.setText(bundle.getString(BUNDLE_KEY_MOVIEPLOT));
mediaGenres.setText(bundle.getString(BUNDLE_KEY_MOVIEGENRES));
setMediaYear(bundle.getInt(BUNDLE_KEY_MOVIERUNTIME), bundle.getInt(BUNDLE_KEY_MOVIEYEAR));
setMediaRating(bundle.getDouble(BUNDLE_KEY_MOVIERATING));
// Pad main content view to overlap with bottom system bar
// UIUtils.setPaddingForSystemBars(getActivity(), mediaPanel, false, false, true);
@ -489,12 +499,8 @@ public class MovieDetailsFragment extends AbstractDetailsFragment
mediaTitle.setText(movieTitle);
mediaUndertitle.setText(cursor.getString(MovieDetailsQuery.TAGLINE));
int runtime = cursor.getInt(MovieDetailsQuery.RUNTIME) / 60;
String durationYear = runtime > 0 ?
String.format(getString(R.string.minutes_abbrev), String.valueOf(runtime)) +
" | " + String.valueOf(cursor.getInt(MovieDetailsQuery.YEAR)) :
String.valueOf(cursor.getInt(MovieDetailsQuery.YEAR));
mediaYear.setText(durationYear);
setMediaYear(cursor.getInt(MovieDetailsQuery.RUNTIME) / 60, cursor.getInt(MovieDetailsQuery.YEAR));
mediaGenres.setText(cursor.getString(MovieDetailsQuery.GENRES));
double rating = cursor.getDouble(MovieDetailsQuery.RATING);
@ -502,8 +508,7 @@ public class MovieDetailsFragment extends AbstractDetailsFragment
mediaRating.setVisibility(View.VISIBLE);
mediaMaxRating.setVisibility(View.VISIBLE);
mediaRatingVotes.setVisibility(View.VISIBLE);
mediaRating.setText(String.format("%01.01f", rating));
mediaMaxRating.setText(getString(R.string.max_rating_video));
setMediaRating(rating);
String votes = cursor.getString(MovieDetailsQuery.VOTES);
mediaRatingVotes.setText((TextUtils.isEmpty(votes)) ?
"" : String.format(getString(R.string.votes), votes));
@ -555,6 +560,19 @@ public class MovieDetailsFragment extends AbstractDetailsFragment
}
}
private void setMediaRating(double rating) {
mediaRating.setText(String.format("%01.01f", rating));
mediaMaxRating.setText(getString(R.string.max_rating_video));
}
private void setMediaYear(int runtime, int year) {
String durationYear = runtime > 0 ?
String.format(getString(R.string.minutes_abbrev), String.valueOf(runtime)) +
" | " + year :
String.valueOf(year);
mediaYear.setText(durationYear);
}
private void setupSeenButton(int playcount) {
// Seen button
if (playcount > 0) {

View File

@ -288,18 +288,22 @@ public class MovieListFragment extends AbstractListFragment {
viewHolder.movieId = cursor.getInt(MovieListQuery.MOVIEID);
viewHolder.movieTitle = cursor.getString(MovieListQuery.TITLE);
viewHolder.movieTagline = cursor.getString(MovieListQuery.TAGLINE);
viewHolder.movieYear = cursor.getInt(MovieListQuery.YEAR);
viewHolder.movieRating = cursor.getDouble(MovieListQuery.RATING);
viewHolder.titleView.setText(viewHolder.movieTitle);
String details = TextUtils.isEmpty(cursor.getString(MovieListQuery.TAGLINE)) ?
cursor.getString(MovieListQuery.GENRES) :
cursor.getString(MovieListQuery.TAGLINE);
viewHolder.movieGenres = cursor.getString(MovieListQuery.GENRES);
String details = TextUtils.isEmpty(viewHolder.movieTagline) ?
viewHolder.movieGenres :
viewHolder.movieTagline;
viewHolder.detailsView.setText(details);
// viewHolder.yearView.setText(String.valueOf(cursor.getInt(MovieListQuery.YEAR)));
int runtime = cursor.getInt(MovieListQuery.RUNTIME) / 60;
String duration = runtime > 0 ?
String.format(context.getString(R.string.minutes_abbrev), String.valueOf(runtime)) +
" | " + String.valueOf(cursor.getInt(MovieListQuery.YEAR)) :
String.valueOf(cursor.getInt(MovieListQuery.YEAR));
viewHolder.movieRuntime = cursor.getInt(MovieListQuery.RUNTIME) / 60;
String duration = viewHolder.movieRuntime > 0 ?
String.format(context.getString(R.string.minutes_abbrev), String.valueOf(viewHolder.movieRuntime)) +
" | " + viewHolder.movieYear :
String.valueOf(viewHolder.movieYear);
viewHolder.durationView.setText(duration);
UIUtils.loadImageWithCharacterAvatar(context, hostManager,
cursor.getString(MovieListQuery.THUMBNAIL), viewHolder.movieTitle,
@ -324,5 +328,9 @@ public class MovieListFragment extends AbstractListFragment {
int movieId;
String movieTitle;
String movieTagline;
int movieYear;
int movieRuntime;
String movieGenres;
double movieRating;
}
}