Last active
October 16, 2016 21:22
-
-
Save fnk0/95b71069a2e846087e1c9b9855b7c0a6 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class MovieDetailsFragment extends DetailsFragment | |
implements Palette.PaletteAsyncListener // Implement the PaletteAsyncListener { | |
// Change this from FullWidthDetailsOverviewRowPresenter to use our Custom one. | |
private CustomMovieDetailsPresenter mFullWidthMovieDetailsPresenter; | |
/** | |
* Sets up the adapter for this Fragment | |
*/ | |
private void setUpAdapter() { | |
// Change the presenter constructor to use our custom one | |
mFullWidthMovieDetailsPresenter = new CustomMovieDetailsPresenter(new MovieDetailsDescriptionPresenter(), | |
new DetailsOverviewLogoPresenter()); | |
... | |
} | |
/** | |
* Loads the poster image into the DetailsOverviewRow | |
* @param url | |
* The poster URL | |
*/ | |
private void loadImage(String url) { | |
Glide.with(getActivity()) | |
.load(url) | |
.diskCacheStrategy(DiskCacheStrategy.ALL) | |
.listener(new RequestListener<String, GlideDrawable>() { | |
@Override | |
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) { | |
return false; | |
} | |
@Override | |
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { | |
// Add this in order to generate the Palette | |
changePalette(((GlideBitmapDrawable) resource).getBitmap()); | |
return false; | |
} | |
}) | |
.into(mGlideDrawableSimpleTarget); | |
} | |
/** | |
* Generates a palette from a Bitmap | |
* @param bmp | |
* The bitmap from which we want to generate the palette | |
*/ | |
private void changePalette(Bitmap bmp) { | |
Palette.from(bmp).generate(this); | |
} | |
@Override | |
public void onGenerated(Palette palette) { | |
PaletteColors colors = PaletteUtils.getPaletteColors(palette); | |
mFullWidthMovieDetailsPresenter.setActionsBackgroundColor(colors.getStatusBarColor()); | |
mFullWidthMovieDetailsPresenter.setBackgroundColor(colors.getToolbarBackgroundColor()); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment