Disabled disk cache for album art and fixed the navigation drawer header image view being out of aspect ration. Scrolling in any list should be buttery smooth now. Had no time for the search rewrite today, gonna do that tomorrow.
This commit is contained in:
parent
744d5e12a6
commit
311769a784
9 changed files with 50 additions and 15 deletions
|
|
@ -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<AlbumAdapter.ViewHolder>
|
|||
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)
|
||||
|
|
|
|||
|
|
@ -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<ArtistAlbumAdapter.
|
|||
|
||||
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)
|
||||
|
|
|
|||
|
|
@ -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.signature.StringSignature;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.helper.MenuItemClickHelper;
|
||||
|
|
@ -50,6 +51,7 @@ public class ArtistSongAdapter extends ArrayAdapter<Song> {
|
|||
|
||||
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)
|
||||
|
|
|
|||
|
|
@ -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<PlaylistSongAdapte
|
|||
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)
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import android.widget.TextView;
|
|||
|
||||
import com.afollestad.materialdialogs.ThemeSingleton;
|
||||
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.App;
|
||||
|
|
@ -81,6 +82,7 @@ public class SongAdapter extends RecyclerView.Adapter<SongAdapter.ViewHolder> {
|
|||
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)
|
||||
|
|
|
|||
|
|
@ -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<Uri, GlideDrawable>() {
|
||||
|
|
|
|||
|
|
@ -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<Uri, GlideDrawable>() {
|
||||
@Override
|
||||
public boolean onException(Exception e, Uri model, Target<GlideDrawable> target, boolean isFirstResource) {
|
||||
navigationDrawerFragment.getAlbumArtImageView().setImageResource(R.drawable.default_album_art);
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onResourceReady(GlideDrawable resource, Uri model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
|
||||
navigationDrawerFragment.getAlbumArtImageView().setImageDrawable(resource);
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.into(navigationDrawerImageWidth, navigationDrawerImageHeight);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue