Use disk cache
This commit is contained in:
parent
c2ad4e4541
commit
533708e63d
18 changed files with 77 additions and 94 deletions
|
|
@ -19,6 +19,7 @@ import com.afollestad.materialdialogs.util.DialogUtils;
|
|||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
import com.bumptech.glide.request.animation.GlideAnimation;
|
||||
import com.bumptech.glide.signature.MediaStoreSignature;
|
||||
import com.github.ksoichiro.android.observablescrollview.ObservableRecyclerView;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.song.AlbumSongAdapter;
|
||||
|
|
@ -149,16 +150,17 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
albumTitleView.setText(album.getTitle());
|
||||
setUpRecyclerViewView();
|
||||
setUpSongsAdapter();
|
||||
setUpAlbumArtAndApplyPalette();
|
||||
loadAlbumCover();
|
||||
}
|
||||
|
||||
private void setUpAlbumArtAndApplyPalette() {
|
||||
private void loadAlbumCover() {
|
||||
Glide.with(this)
|
||||
.loadFromMediaStore(MusicUtil.getAlbumArtUri(album.getId()))
|
||||
.asBitmap()
|
||||
.transcode(new BitmapPaletteTranscoder(this), BitmapPaletteWrapper.class)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.diskCacheStrategy(DiskCacheStrategy.ALL)
|
||||
.error(R.drawable.default_album_art)
|
||||
.signature(new MediaStoreSignature("", album.getDateModified(), 0))
|
||||
.into(new PhonographColoredTarget(albumArtImageView) {
|
||||
@Override
|
||||
public void onResourceReady(BitmapPaletteWrapper resource, GlideAnimation<? super BitmapPaletteWrapper> glideAnimation) {
|
||||
|
|
@ -242,12 +244,11 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
});
|
||||
}
|
||||
|
||||
private void reloadDataSet() {
|
||||
adapter.swapDataSet(album.songs);
|
||||
}
|
||||
|
||||
private void reloadAlbum() {
|
||||
private void refresh() {
|
||||
album = AlbumLoader.getAlbum(this, album.getId());
|
||||
albumTitleView.setText(album.getTitle());
|
||||
loadAlbumCover();
|
||||
adapter.swapDataSet(album.songs);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -302,9 +303,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (requestCode == TAG_EDITOR_REQUEST) {
|
||||
getAlbumFromIntentExtras();
|
||||
albumTitleView.setText(album.getTitle());
|
||||
setUpAlbumArtAndApplyPalette();
|
||||
refresh();
|
||||
setResult(RESULT_OK);
|
||||
}
|
||||
}
|
||||
|
|
@ -349,6 +348,6 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
|||
@Override
|
||||
public void onMediaStoreChanged() {
|
||||
super.onMediaStoreChanged();
|
||||
reloadDataSet();
|
||||
refresh();
|
||||
}
|
||||
}
|
||||
|
|
@ -37,6 +37,7 @@ import com.afollestad.materialcab.MaterialCab;
|
|||
import com.afollestad.materialdialogs.internal.ThemeSingleton;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
import com.bumptech.glide.signature.MediaStoreSignature;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.PagerAdapter;
|
||||
import com.kabouzeid.gramophone.dialogs.ChangelogDialog;
|
||||
|
|
@ -276,9 +277,10 @@ public class MainActivity extends AbsSlidingMusicPanelActivity
|
|||
((TextView) navigationDrawerHeader.findViewById(R.id.text)).setText(song.artistName);
|
||||
Glide.with(this)
|
||||
.loadFromMediaStore(MusicUtil.getAlbumArtUri(song.albumId))
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.diskCacheStrategy(DiskCacheStrategy.ALL)
|
||||
.error(R.drawable.default_album_art)
|
||||
.animate(android.R.anim.fade_in)
|
||||
.signature(new MediaStoreSignature("", song.dateModified, 0))
|
||||
.into(((ImageView) navigationDrawerHeader.findViewById(R.id.image)));
|
||||
} else {
|
||||
if (navigationDrawerHeader != null) {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ import android.view.MenuItem;
|
|||
import android.view.View;
|
||||
|
||||
import com.afollestad.materialdialogs.color.ColorChooserDialog;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.prefs.ColorChooserPreference;
|
||||
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
|
||||
|
|
@ -194,15 +193,6 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
});
|
||||
}
|
||||
|
||||
Preference ignoreMediaStoreArtwork = findPreference("ignore_media_store_artwork");
|
||||
ignoreMediaStoreArtwork.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
Glide.get(getActivity()).clearMemory();
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
Preference equalizer = findPreference("equalizer");
|
||||
if (!hasEqualizer()) {
|
||||
equalizer.setEnabled(false);
|
||||
|
|
|
|||
|
|
@ -22,10 +22,8 @@ import android.view.View;
|
|||
import android.view.animation.OvershootInterpolator;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.afollestad.materialdialogs.MaterialDialog;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.github.ksoichiro.android.observablescrollview.ObservableScrollView;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.misc.SimpleObservableScrollViewCallbacks;
|
||||
|
|
@ -275,7 +273,11 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity {
|
|||
}
|
||||
|
||||
protected void setImageBitmap(@Nullable final Bitmap bitmap, int bgColor) {
|
||||
image.setImageBitmap(bitmap);
|
||||
if (bitmap == null) {
|
||||
image.setImageResource(R.drawable.default_album_art);
|
||||
} else {
|
||||
image.setImageBitmap(bitmap);
|
||||
}
|
||||
setColors(bgColor);
|
||||
}
|
||||
|
||||
|
|
@ -355,11 +357,8 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity {
|
|||
});
|
||||
if (deleteArtwork) {
|
||||
MusicUtil.deleteAlbumArt(AbsTagEditorActivity.this, getId());
|
||||
Glide.get(AbsTagEditorActivity.this).clearMemory();
|
||||
Toast.makeText(AbsTagEditorActivity.this, R.string.tag_editor_restart_notice, Toast.LENGTH_SHORT).show();
|
||||
} else if (artwork != null) {
|
||||
Glide.get(AbsTagEditorActivity.this).clearMemory();
|
||||
Toast.makeText(AbsTagEditorActivity.this, R.string.tag_editor_restart_notice, Toast.LENGTH_SHORT).show();
|
||||
// AlbumTagEditorActivity already inserts the album cover for us
|
||||
}
|
||||
rescanMediaAndQuitOnFinish();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -128,8 +128,7 @@ public class AlbumTagEditorActivity extends AbsTagEditorActivity implements Text
|
|||
|
||||
@Override
|
||||
public void onResourceReady(BitmapPaletteWrapper resource, GlideAnimation<? super BitmapPaletteWrapper> glideAnimation) {
|
||||
ColorUtil.getColor(resource.getPalette(), Color.TRANSPARENT);
|
||||
albumArtBitmap = resource.getBitmap();
|
||||
albumArtBitmap = getResizedAlbumCover(resource.getBitmap(), 2048);
|
||||
setImageBitmap(albumArtBitmap, ColorUtil.getColor(resource.getPalette(), ColorUtil.resolveColor(AlbumTagEditorActivity.this, R.attr.default_bar_color)));
|
||||
deleteAlbumArt = false;
|
||||
dataChanged();
|
||||
|
|
@ -215,7 +214,7 @@ public class AlbumTagEditorActivity extends AbsTagEditorActivity implements Text
|
|||
.transcode(new BitmapPaletteTranscoder(AlbumTagEditorActivity.this), BitmapPaletteWrapper.class)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.skipMemoryCache(true)
|
||||
.into(new SimpleTarget<BitmapPaletteWrapper>() {
|
||||
.into(new SimpleTarget<BitmapPaletteWrapper>(4097, 4097) {
|
||||
@Override
|
||||
public void onLoadFailed(Exception e, Drawable errorDrawable) {
|
||||
super.onLoadFailed(e, errorDrawable);
|
||||
|
|
@ -226,7 +225,7 @@ public class AlbumTagEditorActivity extends AbsTagEditorActivity implements Text
|
|||
@Override
|
||||
public void onResourceReady(BitmapPaletteWrapper resource, GlideAnimation<? super BitmapPaletteWrapper> glideAnimation) {
|
||||
ColorUtil.getColor(resource.getPalette(), Color.TRANSPARENT);
|
||||
albumArtBitmap = resource.getBitmap();
|
||||
albumArtBitmap = getResizedAlbumCover(resource.getBitmap(), 2048);
|
||||
setImageBitmap(albumArtBitmap, ColorUtil.getColor(resource.getPalette(), ColorUtil.resolveColor(AlbumTagEditorActivity.this, R.attr.default_bar_color)));
|
||||
deleteAlbumArt = false;
|
||||
dataChanged();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue