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 ca196aba..5474c354 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumAdapter.java @@ -14,6 +14,7 @@ import android.widget.TextView; import com.afollestad.materialdialogs.util.DialogUtils; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.resource.bitmap.GlideBitmapDrawable; import com.bumptech.glide.load.resource.drawable.GlideDrawable; import com.bumptech.glide.request.Request; @@ -71,6 +72,7 @@ public class AlbumAdapter extends RecyclerView.Adapter holder.albumArt.setTag( Glide.with(activity) .loadFromMediaStore(MusicUtil.getAlbumArtUri(album.id)) + .diskCacheStrategy(DiskCacheStrategy.NONE) .signature(new StringSignature(album.albumArtPath)) .error(R.drawable.default_album_art) .placeholder(R.drawable.default_album_art) diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/ArtistAlbumAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/ArtistAlbumAdapter.java index 4095f70d..8fed00cd 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/ArtistAlbumAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/ArtistAlbumAdapter.java @@ -10,6 +10,7 @@ import android.widget.ImageView; import android.widget.TextView; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.request.Request; import com.bumptech.glide.signature.StringSignature; import com.kabouzeid.gramophone.R; @@ -61,6 +62,7 @@ public class ArtistAlbumAdapter extends RecyclerView.Adapter { Glide.with(activity) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) + .diskCacheStrategy(DiskCacheStrategy.NONE) .signature(new StringSignature(String.valueOf(song.dateModified))) .error(R.drawable.default_album_art) .placeholder(R.drawable.default_album_art) diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/songadapter/PlaylistSongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/songadapter/PlaylistSongAdapter.java index 66c3393d..d111209b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/songadapter/PlaylistSongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/songadapter/PlaylistSongAdapter.java @@ -12,6 +12,7 @@ import android.widget.PopupMenu; import android.widget.TextView; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.request.Request; import com.bumptech.glide.signature.StringSignature; import com.kabouzeid.gramophone.R; @@ -65,6 +66,7 @@ public class PlaylistSongAdapter extends RecyclerView.Adapter { holder.albumArt.setTag( Glide.with(activity) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) + .diskCacheStrategy(DiskCacheStrategy.NONE) .signature(new StringSignature(String.valueOf(song.dateModified))) .error(R.drawable.default_album_art) .placeholder(R.drawable.default_album_art) 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 f62261fa..230de915 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 @@ -19,6 +19,7 @@ import android.widget.TextView; import com.afollestad.materialdialogs.util.DialogUtils; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.resource.bitmap.GlideBitmapDrawable; import com.bumptech.glide.load.resource.drawable.GlideDrawable; import com.bumptech.glide.request.RequestListener; @@ -177,6 +178,7 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH private void setUpAlbumArtAndApplyPalette() { Glide.with(AlbumDetailActivity.this) .loadFromMediaStore(MusicUtil.getAlbumArtUri(album.id)) + .diskCacheStrategy(DiskCacheStrategy.NONE) .signature(new StringSignature(album.albumArtPath)) .error(R.drawable.default_album_art) .listener(new RequestListener() { diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java index 4a78c3a6..b58ece05 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java @@ -28,6 +28,10 @@ import android.widget.FrameLayout; import com.afollestad.materialdialogs.ThemeSingleton; import com.astuetz.PagerSlidingTabStrip; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; +import com.bumptech.glide.load.resource.drawable.GlideDrawable; +import com.bumptech.glide.request.RequestListener; +import com.bumptech.glide.request.target.Target; import com.bumptech.glide.signature.StringSignature; import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.adapter.PagerAdapter; @@ -69,6 +73,8 @@ public class MainActivity extends AbsFabActivity private ViewPager viewPager; private PagerSlidingTabStrip slidingTabLayout; private int currentPage = -1; + private int navigationDrawerImageWidth = -1; + private int navigationDrawerImageHeight = -1; @Override protected void onCreate(Bundle savedInstanceState) { @@ -78,9 +84,9 @@ public class MainActivity extends AbsFabActivity initViews(); navigationDrawerFragment.setUp( - R.id.navigation_drawer, drawerLayout ); + setUpDrawerLayout(); setUpToolBar(); setUpViewPager(); @@ -165,9 +171,19 @@ public class MainActivity extends AbsFabActivity R.string.navigation_drawer_open, R.string.navigation_drawer_close ); + drawerLayout.post(new Runnable() { + @Override + public void run() { + drawerToggle.syncState(); + } + }); + drawerLayout.setDrawerListener(drawerToggle); + } + private void setUpDrawerLayout() { drawerLayout.setStatusBarBackgroundColor(PreferenceUtils .getInstance(this).getThemeColorPrimaryDarker()); + FrameLayout navDrawerFrame = (FrameLayout) findViewById(R.id.nav_drawer_frame); int navDrawerMargin = getResources().getDimensionPixelSize(R.dimen.nav_drawer_margin); DisplayMetrics displayMetrics = getResources().getDisplayMetrics(); @@ -179,13 +195,8 @@ public class MainActivity extends AbsFabActivity navDrawerFrame.setLayoutParams(new DrawerLayout.LayoutParams(navDrawerWidth, DrawerLayout.LayoutParams.MATCH_PARENT, Gravity.START)); - drawerLayout.post(new Runnable() { - @Override - public void run() { - drawerToggle.syncState(); - } - }); - drawerLayout.setDrawerListener(drawerToggle); + navigationDrawerImageWidth = navDrawerWidth; + navigationDrawerImageHeight = getResources().getDimensionPixelSize(R.dimen.navigation_drawer_image_height); } @Override @@ -207,10 +218,23 @@ public class MainActivity extends AbsFabActivity navigationDrawerFragment.getSongArtist().setText(song.artistName); Glide.with(this) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) + .centerCrop() + .diskCacheStrategy(DiskCacheStrategy.NONE) .signature(new StringSignature(String.valueOf(song.dateModified))) - .error(R.drawable.default_album_art) - .placeholder(R.drawable.default_album_art) - .into(navigationDrawerFragment.getAlbumArtImageView()); + .listener(new RequestListener() { + @Override + public boolean onException(Exception e, Uri model, Target target, boolean isFirstResource) { + navigationDrawerFragment.getAlbumArtImageView().setImageResource(R.drawable.default_album_art); + return false; + } + + @Override + public boolean onResourceReady(GlideDrawable resource, Uri model, Target target, boolean isFromMemoryCache, boolean isFirstResource) { + navigationDrawerFragment.getAlbumArtImageView().setImageDrawable(resource); + return false; + } + }) + .into(navigationDrawerImageWidth, navigationDrawerImageHeight); } } } 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 944752c1..021418c4 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 @@ -24,6 +24,7 @@ import android.widget.Toast; import com.afollestad.materialdialogs.ThemeSingleton; import com.afollestad.materialdialogs.util.DialogUtils; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.resource.bitmap.GlideBitmapDrawable; import com.bumptech.glide.load.resource.drawable.GlideDrawable; import com.bumptech.glide.request.RequestListener; @@ -301,6 +302,7 @@ public class MusicControllerActivity extends AbsFabActivity { private void setUpAlbumArtAndApplyPalette() { Glide.with(this) .loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId)) + .diskCacheStrategy(DiskCacheStrategy.NONE) .signature(new StringSignature(String.valueOf(song.dateModified))) .error(R.drawable.default_album_art) .placeholder(R.drawable.default_album_art) diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/NavigationDrawerFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/NavigationDrawerFragment.java index ddef652e..bf13b720 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/NavigationDrawerFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/NavigationDrawerFragment.java @@ -35,7 +35,6 @@ public class NavigationDrawerFragment extends Fragment { private NavigationDrawerItemAdapter drawerAdapter; private DrawerLayout drawerLayout; private RecyclerView drawerRecyclerView; - private View fragmentContainerView; private Button headerButton; private ImageView albumArt; @@ -54,12 +53,10 @@ public class NavigationDrawerFragment extends Fragment { return drawerLayout != null && drawerLayout.isDrawerOpen(Gravity.START); } - public void setUp(int fragmentId, final DrawerLayout drawerLayout) { - fragmentContainerView = getActivity().findViewById(fragmentId); + public void setUp(final DrawerLayout drawerLayout) { this.drawerLayout = drawerLayout; this.drawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); - if (!userLearnedDrawer && !fromSavedInstanceState) { this.drawerLayout.openDrawer(Gravity.START); userLearnedDrawer = true;