diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumCoverPagerAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumCoverPagerAdapter.java index c5f40637..59beaeaa 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumCoverPagerAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumCoverPagerAdapter.java @@ -133,7 +133,7 @@ public class AlbumCoverPagerAdapter extends CustomFragmentStatePagerAdapter { .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) .asBitmap() .transcode(new BitmapPaletteTranscoder(getActivity()), BitmapPaletteWrapper.class) - .diskCacheStrategy(DiskCacheStrategy.ALL) + .diskCacheStrategy(DiskCacheStrategy.NONE) .error(R.drawable.default_album_art) .signature(new MediaStoreSignature("", song.dateModified, 0)) .into(new PhonographColoredTarget(albumCover) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java index b2f8fb0a..9081b0e3 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java @@ -99,7 +99,7 @@ public class SearchAdapter extends RecyclerView.Adapter implements MaterialCab Glide.with(activity) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) - .diskCacheStrategy(DiskCacheStrategy.ALL) + .diskCacheStrategy(DiskCacheStrategy.NONE) .error(R.drawable.default_album_art) .animate(android.R.anim.fade_in) .signature(new MediaStoreSignature("", song.dateModified, 0)) diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java index 501470f5..edfa1c9d 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java @@ -126,7 +126,7 @@ public class SongAdapter extends AbsMultiSelectAdapter() { @Override diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerAlbumCoverFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerAlbumCoverFragment.java index a7b19645..e122eb2d 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerAlbumCoverFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerAlbumCoverFragment.java @@ -47,7 +47,6 @@ public class PlayerAlbumCoverFragment extends AbsMusicServiceFragment implements @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); - viewPager.setOffscreenPageLimit(2); updatePlayingQueue(); viewPager.addOnPageChangeListener(this); viewPager.setOnTouchListener(new View.OnTouchListener() { diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerFragment.java index 5c03a25a..a3aac053 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlayerFragment.java @@ -157,6 +157,11 @@ public class PlayerFragment extends AbsPlayerFragment implements PlayerAlbumCove updateQueue(); } + @Override + public void onMediaStoreChanged() { + updateQueue(); + } + private void updateQueue() { playingQueueAdapter.swapDataSet(MusicPlayerRemote.getPlayingQueue(), MusicPlayerRemote.getPosition()); if (slidingUpPanelLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/ColorUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/ColorUtil.java index 71ecf915..9d86b72b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/ColorUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/ColorUtil.java @@ -14,6 +14,9 @@ import android.support.v7.graphics.Palette; import com.kabouzeid.gramophone.R; +import java.util.Collections; +import java.util.Comparator; + /** * @author Karim Abou Zeid (kabouzeid) */ @@ -43,11 +46,29 @@ public class ColorUtil { return palette.getLightVibrantSwatch().getRgb(); } else if (palette.getLightMutedSwatch() != null) { return palette.getLightMutedSwatch().getRgb(); + } else if (palette.getSwatches() != null && !palette.getSwatches().isEmpty()) { + return Collections.max(palette.getSwatches(), SwatchComparator.getInstance()).getRgb(); } } return fallback; } + private static class SwatchComparator implements Comparator { + private static SwatchComparator sInstance; + + static SwatchComparator getInstance() { + if (sInstance == null) { + sInstance = new SwatchComparator(); + } + return sInstance; + } + + @Override + public int compare(Palette.Swatch lhs, Palette.Swatch rhs) { + return lhs.getPopulation() - rhs.getPopulation(); + } + } + @ColorInt public static int resolveColor(@NonNull Context context, @AttrRes int colorAttr) { TypedArray a = context.obtainStyledAttributes(new int[]{colorAttr});