From 82c7128ea83ba732ba5050fed75d9cf5e8e210f5 Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Wed, 22 Apr 2015 13:22:40 +0200 Subject: [PATCH] Updated deprecated palette methods and fixed a small bug in artist and album detail activity --- .../gramophone/adapter/AlbumAdapter.java | 27 ++++++------ .../ui/activities/AlbumDetailActivity.java | 35 ++++++++-------- .../ui/activities/ArtistDetailActivity.java | 35 ++++++++-------- .../activities/MusicControllerActivity.java | 31 +++++++------- .../tageditor/AbsTagEditorActivity.java | 42 ++++++++++--------- .../main/res/layout/activity_album_detail.xml | 9 ++-- .../res/layout/activity_artist_detail.xml | 7 ++-- 7 files changed, 98 insertions(+), 88 deletions(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumAdapter.java index 318ed363..bef12e6d 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumAdapter.java @@ -138,19 +138,20 @@ public class AlbumAdapter extends RecyclerView.Adapter } private void applyPalette(Bitmap bitmap, final TextView title, final TextView artist, final View footer) { - Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() { - @Override - public void onGenerated(Palette palette) { - final Palette.Swatch vibrantSwatch = palette.getVibrantSwatch(); - if (vibrantSwatch != null) { - title.setTextColor(vibrantSwatch.getTitleTextColor()); - artist.setTextColor(vibrantSwatch.getTitleTextColor()); - ViewUtil.animateViewColor(footer, DialogUtils.resolveColor(activity, R.attr.default_bar_color), vibrantSwatch.getRgb()); - } else { - paletteBlackAndWhite(title, artist, footer); - } - } - }); + Palette.from(bitmap) + .generate(new Palette.PaletteAsyncListener() { + @Override + public void onGenerated(Palette palette) { + final Palette.Swatch vibrantSwatch = palette.getVibrantSwatch(); + if (vibrantSwatch != null) { + title.setTextColor(vibrantSwatch.getTitleTextColor()); + artist.setTextColor(vibrantSwatch.getTitleTextColor()); + ViewUtil.animateViewColor(footer, DialogUtils.resolveColor(activity, R.attr.default_bar_color), vibrantSwatch.getRgb()); + } else { + paletteBlackAndWhite(title, artist, footer); + } + } + }); } private void paletteBlackAndWhite(final TextView title, final TextView artist, final View footer) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java index 632257e8..f1681929 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java @@ -197,23 +197,24 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH } private void applyPalette(Bitmap bitmap) { - Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() { - @TargetApi(Build.VERSION_CODES.LOLLIPOP) - @Override - public void onGenerated(Palette palette) { - Palette.Swatch swatch = palette.getVibrantSwatch(); - if (swatch != null) { - toolbarColor = swatch.getRgb(); - albumTitleView.setBackgroundColor(toolbarColor); - albumTitleView.setTextColor(swatch.getTitleTextColor()); - if (Util.hasLollipopSDK() && PreferenceUtils.getInstance(AlbumDetailActivity.this).coloredNavigationBarAlbumEnabled()) - getWindow().setNavigationBarColor(toolbarColor); - notifyTaskColorChange(toolbarColor); - } else { - resetColors(); - } - } - }); + Palette.from(bitmap) + .generate(new Palette.PaletteAsyncListener() { + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + @Override + public void onGenerated(Palette palette) { + final Palette.Swatch vibrantSwatch = palette.getVibrantSwatch(); + if (vibrantSwatch != null) { + toolbarColor = vibrantSwatch.getRgb(); + albumTitleView.setBackgroundColor(toolbarColor); + albumTitleView.setTextColor(vibrantSwatch.getTitleTextColor()); + if (Util.hasLollipopSDK() && PreferenceUtils.getInstance(AlbumDetailActivity.this).coloredNavigationBarAlbumEnabled()) + getWindow().setNavigationBarColor(toolbarColor); + notifyTaskColorChange(toolbarColor); + } else { + resetColors(); + } + } + }); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java index 926aa6dd..81b904b3 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java @@ -292,23 +292,24 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor } private void applyPalette(Bitmap bitmap) { - Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() { - @TargetApi(Build.VERSION_CODES.LOLLIPOP) - @Override - public void onGenerated(Palette palette) { - Palette.Swatch swatch = palette.getVibrantSwatch(); - if (swatch != null) { - toolbarColor = swatch.getRgb(); - artistNameTv.setBackgroundColor(swatch.getRgb()); - artistNameTv.setTextColor(swatch.getTitleTextColor()); - if (Util.hasLollipopSDK() && PreferenceUtils.getInstance(ArtistDetailActivity.this).coloredNavigationBarArtistEnabled()) - getWindow().setNavigationBarColor(swatch.getRgb()); - notifyTaskColorChange(toolbarColor); - } else { - resetColors(); - } - } - }); + Palette.from(bitmap) + .generate(new Palette.PaletteAsyncListener() { + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + @Override + public void onGenerated(Palette palette) { + final Palette.Swatch vibrantSwatch = palette.getVibrantSwatch(); + if (vibrantSwatch != null) { + toolbarColor = vibrantSwatch.getRgb(); + artistNameTv.setBackgroundColor(vibrantSwatch.getRgb()); + artistNameTv.setTextColor(vibrantSwatch.getTitleTextColor()); + if (Util.hasLollipopSDK() && PreferenceUtils.getInstance(ArtistDetailActivity.this).coloredNavigationBarArtistEnabled()) + getWindow().setNavigationBarColor(vibrantSwatch.getRgb()); + notifyTaskColorChange(toolbarColor); + } else { + resetColors(); + } + } + }); } @Override diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MusicControllerActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MusicControllerActivity.java index 4c5f5b4a..d5d03ab5 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MusicControllerActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MusicControllerActivity.java @@ -320,21 +320,22 @@ public class MusicControllerActivity extends AbsFabActivity { } private void applyPalette(Bitmap bitmap) { - Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() { - @Override - public void onGenerated(Palette palette) { - Palette.Swatch swatch = palette.getVibrantSwatch(); - if (swatch != null) { - final int swatchRgb = swatch.getRgb(); - animateColorChange(swatchRgb); - songTitle.setTextColor(swatch.getTitleTextColor()); - songArtist.setTextColor(swatch.getBodyTextColor()); - notifyTaskColorChange(swatchRgb); - } else { - resetColors(); - } - } - }); + Palette.from(bitmap) + .generate(new Palette.PaletteAsyncListener() { + @Override + public void onGenerated(Palette palette) { + final Palette.Swatch vibrantSwatch = palette.getVibrantSwatch(); + if (vibrantSwatch != null) { + final int swatchRgb = vibrantSwatch.getRgb(); + animateColorChange(swatchRgb); + songTitle.setTextColor(vibrantSwatch.getTitleTextColor()); + songArtist.setTextColor(vibrantSwatch.getBodyTextColor()); + notifyTaskColorChange(swatchRgb); + } else { + resetColors(); + } + } + }); } private void resetColors() { diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java index 7eb48278..2c2cc3d5 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java @@ -132,7 +132,7 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity { } private void setUpViews() { - restoreStandardColors(); + resetColors(); setUpScrollView(); setUpFab(); setUpImageView(); @@ -208,7 +208,7 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity { protected abstract void save(); @TargetApi(Build.VERSION_CODES.LOLLIPOP) - private void restoreStandardColors() { + private void resetColors() { final int primaryColor = PreferenceUtils.getInstance(this).getThemeColorPrimary(); paletteColorPrimary = primaryColor; observableScrollViewCallbacks.onScrollChanged(scrollView.getCurrentScrollY(), false, false); @@ -293,27 +293,31 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity { if (bitmap != null) { image.setImageBitmap(bitmap); applyPalette(bitmap); + } else { + resetColors(); } } private void applyPalette(final Bitmap bitmap) { - if (bitmap != null) { - Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() { - @TargetApi(Build.VERSION_CODES.LOLLIPOP) - @Override - public void onGenerated(Palette palette) { - final int vibrantColor = palette.getVibrantColor(DialogUtils.resolveColor(AbsTagEditorActivity.this, R.attr.default_bar_color)); - paletteColorPrimary = vibrantColor; - observableScrollViewCallbacks.onScrollChanged(scrollView.getCurrentScrollY(), false, false); - setStatusBarColor(ColorChooserDialog.shiftColorDown(vibrantColor), false); - if (Util.hasLollipopSDK() && PreferenceUtils.getInstance(AbsTagEditorActivity.this).coloredNavigationBarTagEditorEnabled()) - getWindow().setNavigationBarColor(vibrantColor); - notifyTaskColorChange(vibrantColor); - } - }); - } else { - restoreStandardColors(); - } + Palette.from(bitmap) + .generate(new Palette.PaletteAsyncListener() { + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + @Override + public void onGenerated(Palette palette) { + final Palette.Swatch vibrantSwatch = palette.getVibrantSwatch(); + if (vibrantSwatch != null) { + final int vibrantColor = palette.getVibrantColor(DialogUtils.resolveColor(AbsTagEditorActivity.this, R.attr.default_bar_color)); + paletteColorPrimary = vibrantColor; + observableScrollViewCallbacks.onScrollChanged(scrollView.getCurrentScrollY(), false, false); + setStatusBarColor(ColorChooserDialog.shiftColorDown(vibrantColor), false); + if (Util.hasLollipopSDK() && PreferenceUtils.getInstance(AbsTagEditorActivity.this).coloredNavigationBarTagEditorEnabled()) + getWindow().setNavigationBarColor(vibrantColor); + notifyTaskColorChange(vibrantColor); + } else { + resetColors(); + } + } + }); } @Override diff --git a/app/src/main/res/layout/activity_album_detail.xml b/app/src/main/res/layout/activity_album_detail.xml index 15391b7e..9623d4ac 100644 --- a/app/src/main/res/layout/activity_album_detail.xml +++ b/app/src/main/res/layout/activity_album_detail.xml @@ -1,7 +1,7 @@ + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent"> + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent">