Replaced UIL with Picasso
Huge replacement Hopefully better performance
This commit is contained in:
parent
f3c629e1c6
commit
cfce92535b
27 changed files with 398 additions and 457 deletions
|
|
@ -4,6 +4,7 @@ import android.annotation.SuppressLint;
|
|||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
|
|
@ -40,9 +41,8 @@ import com.nhaarman.listviewanimations.appearance.AnimationAdapter;
|
|||
import com.nhaarman.listviewanimations.appearance.simple.ScaleInAnimationAdapter;
|
||||
import com.nineoldandroids.view.ViewHelper;
|
||||
import com.nineoldandroids.view.ViewPropertyAnimator;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
|
||||
import com.squareup.picasso.Callback;
|
||||
import com.squareup.picasso.Picasso;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -131,7 +131,6 @@ public class AlbumDetailActivity extends AbsFabActivity implements OnMusicRemote
|
|||
@SuppressLint("NewApi")
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
if (Util.hasLollipopSDK()) postponeEnterTransition();
|
||||
app = (App) getApplicationContext();
|
||||
setTheme(app.getAppTheme());
|
||||
setUpTranslucence();
|
||||
|
|
@ -153,7 +152,7 @@ public class AlbumDetailActivity extends AbsFabActivity implements OnMusicRemote
|
|||
setUpObservableListViewParams();
|
||||
setUpToolBar();
|
||||
setUpViews();
|
||||
if (!Util.hasLollipopSDK()) animateEnterActivity();
|
||||
animateEnterActivity();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -203,38 +202,16 @@ public class AlbumDetailActivity extends AbsFabActivity implements OnMusicRemote
|
|||
|
||||
@SuppressLint("NewApi")
|
||||
private void setUpAlbumArtAndApplyPalette() {
|
||||
ImageLoader.getInstance().displayImage(MusicUtil.getAlbumArtUri(album.id).toString(), albumArtImageView, new ImageLoadingListener() {
|
||||
@Override
|
||||
public void onLoadingStarted(String imageUri, View view) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
|
||||
albumArtImageView.setImageResource(R.drawable.default_album_art);
|
||||
if (Util.hasLollipopSDK()) {
|
||||
startPostponedEnterTransition();
|
||||
animateEnterActivity();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadingComplete(String imageUri, final View view, Bitmap loadedImage) {
|
||||
applyPalette(loadedImage);
|
||||
if (Util.hasLollipopSDK()) {
|
||||
startPostponedEnterTransition();
|
||||
animateEnterActivity();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadingCancelled(String imageUri, View view) {
|
||||
albumArtImageView.setImageResource(R.drawable.default_album_art);
|
||||
if (Util.hasLollipopSDK()) {
|
||||
startPostponedEnterTransition();
|
||||
animateEnterActivity();
|
||||
}
|
||||
}
|
||||
});
|
||||
Picasso.with(this).load(MusicUtil.getAlbumArtUri(album.id))
|
||||
.placeholder(R.drawable.default_album_art)
|
||||
.into(albumArtImageView, new Callback.EmptyCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
super.onSuccess();
|
||||
final Bitmap bitmap = ((BitmapDrawable) albumArtImageView.getDrawable()).getBitmap();
|
||||
if (bitmap != null) applyPalette(bitmap);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void applyPalette(Bitmap bitmap) {
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import android.app.Fragment;
|
|||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.support.v13.app.FragmentPagerAdapter;
|
||||
import android.support.v4.view.ViewPager;
|
||||
|
|
@ -28,7 +29,7 @@ import com.google.samples.apps.iosched.ui.widget.SlidingTabLayout;
|
|||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.interfaces.KabViewsDisableAble;
|
||||
import com.kabouzeid.gramophone.interfaces.OnMusicRemoteEventListener;
|
||||
import com.kabouzeid.gramophone.lastfm.artist.LastFMArtistImageLoader;
|
||||
import com.kabouzeid.gramophone.lastfm.artist.LastFMArtistImageUrlLoader;
|
||||
import com.kabouzeid.gramophone.loader.ArtistLoader;
|
||||
import com.kabouzeid.gramophone.misc.AppKeys;
|
||||
import com.kabouzeid.gramophone.model.Artist;
|
||||
|
|
@ -42,6 +43,8 @@ import com.kabouzeid.gramophone.util.ViewUtil;
|
|||
import com.nineoldandroids.animation.Animator;
|
||||
import com.nineoldandroids.view.ViewHelper;
|
||||
import com.nineoldandroids.view.ViewPropertyAnimator;
|
||||
import com.squareup.picasso.Callback;
|
||||
import com.squareup.picasso.Picasso;
|
||||
|
||||
/*
|
||||
*
|
||||
|
|
@ -149,7 +152,7 @@ public class ArtistDetailActivity extends AbsFabActivity implements OnMusicRemot
|
|||
|
||||
private void setUpObservableListViewParams() {
|
||||
artistImageViewHeight = getResources().getDimensionPixelSize(R.dimen.header_image_height);
|
||||
toolbarColor = Util.resolveColor(this, R.attr.colorPrimary);
|
||||
toolbarColor = getResources().getColor(R.color.materialmusic_default_bar_color);
|
||||
toolbarHeight = Util.getActionBarSize(this);
|
||||
titleViewHeight = getResources().getDimensionPixelSize(R.dimen.title_view_height);
|
||||
headerOffset = toolbarHeight;
|
||||
|
|
@ -314,17 +317,23 @@ public class ArtistDetailActivity extends AbsFabActivity implements OnMusicRemot
|
|||
}
|
||||
|
||||
private void setUpArtistImageAndApplyPalette(final boolean forceDownload) {
|
||||
LastFMArtistImageLoader.loadArtistImage(this, artist.name, forceDownload, new LastFMArtistImageLoader.ArtistImageLoaderCallback() {
|
||||
@SuppressLint("NewApi")
|
||||
LastFMArtistImageUrlLoader.loadArtistImageUrl(this, artist.name, forceDownload, new LastFMArtistImageUrlLoader.ArtistImageUrlLoaderCallback() {
|
||||
@Override
|
||||
public void onArtistImageLoaded(Bitmap artistImage) {
|
||||
if (artistImage != null) {
|
||||
artistImageView.setImageBitmap(artistImage);
|
||||
applyPalette(artistImage);
|
||||
}
|
||||
if(forceDownload){
|
||||
Toast.makeText(ArtistDetailActivity.this, getResources().getString(R.string.updated_artist_image_for) + " " + artist.name, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
public void onArtistImageUrlLoaded(String url) {
|
||||
Picasso.with(ArtistDetailActivity.this)
|
||||
.load(url)
|
||||
.placeholder(R.drawable.default_artist_image)
|
||||
.into(artistImageView, new Callback.EmptyCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
super.onSuccess();
|
||||
final Bitmap bitmap = ((BitmapDrawable) artistImageView.getDrawable()).getBitmap();
|
||||
if (bitmap != null) applyPalette(bitmap);
|
||||
if (forceDownload) {
|
||||
Toast.makeText(ArtistDetailActivity.this, getResources().getString(R.string.updated_artist_image_for) + " " + artist.name, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,11 +38,10 @@ import com.kabouzeid.gramophone.ui.fragments.mainactivityfragments.AlbumViewFrag
|
|||
import com.kabouzeid.gramophone.ui.fragments.mainactivityfragments.ArtistViewFragment;
|
||||
import com.kabouzeid.gramophone.ui.fragments.mainactivityfragments.MainActivityFragment;
|
||||
import com.kabouzeid.gramophone.ui.fragments.mainactivityfragments.SongViewFragment;
|
||||
import com.kabouzeid.gramophone.util.ImageLoaderUtil;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.squareup.picasso.Picasso;
|
||||
|
||||
|
||||
public class MainActivity extends AbsFabActivity
|
||||
|
|
@ -152,7 +151,11 @@ public class MainActivity extends AbsFabActivity
|
|||
if (navigationDrawerFragment != null) {
|
||||
Song song = getApp().getMusicPlayerRemote().getCurrentSong();
|
||||
if (song.id != -1) {
|
||||
ImageLoader.getInstance().displayImage(MusicUtil.getAlbumArtUri(song.albumId).toString(), navigationDrawerFragment.getAlbumArtImageView(), new ImageLoaderUtil.defaultAlbumArtOnFailed());
|
||||
Picasso.with(this)
|
||||
.load(MusicUtil.getAlbumArtUri(song.albumId))
|
||||
.error(R.drawable.default_album_art)
|
||||
.placeholder(R.drawable.default_album_art)
|
||||
.into(navigationDrawerFragment.getAlbumArtImageView());
|
||||
navigationDrawerFragment.getSongTitle().setText(song.title);
|
||||
navigationDrawerFragment.getSongArtist().setText(song.artistName);
|
||||
}
|
||||
|
|
@ -164,7 +167,7 @@ public class MainActivity extends AbsFabActivity
|
|||
try {
|
||||
super.enableViews();
|
||||
toolbar.setEnabled(true);
|
||||
((MainActivityFragment)viewPagerAdapter.getItem(viewPager.getCurrentItem())).enableViews();
|
||||
((MainActivityFragment) viewPagerAdapter.getItem(viewPager.getCurrentItem())).enableViews();
|
||||
} catch (NullPointerException e) {
|
||||
Log.e(TAG, "wasn't able to enable the views", e);
|
||||
}
|
||||
|
|
@ -174,7 +177,7 @@ public class MainActivity extends AbsFabActivity
|
|||
public void disableViews() {
|
||||
try {
|
||||
super.disableViews();
|
||||
((MainActivityFragment)viewPagerAdapter.getItem(viewPager.getCurrentItem())).disableViews();
|
||||
((MainActivityFragment) viewPagerAdapter.getItem(viewPager.getCurrentItem())).disableViews();
|
||||
} catch (NullPointerException e) {
|
||||
Log.e(TAG, "wasn't able to disable the views", e);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ package com.kabouzeid.gramophone.ui.activities;
|
|||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.util.Pair;
|
||||
|
|
@ -23,7 +25,7 @@ import com.kabouzeid.gramophone.R;
|
|||
import com.kabouzeid.gramophone.helper.PlayingQueueDialogHelper;
|
||||
import com.kabouzeid.gramophone.helper.SongDetailDialogHelper;
|
||||
import com.kabouzeid.gramophone.interfaces.OnMusicRemoteEventListener;
|
||||
import com.kabouzeid.gramophone.lastfm.artist.LastFMArtistImageLoader;
|
||||
import com.kabouzeid.gramophone.lastfm.artist.LastFMArtistImageUrlLoader;
|
||||
import com.kabouzeid.gramophone.loader.SongFilePathLoader;
|
||||
import com.kabouzeid.gramophone.misc.AppKeys;
|
||||
import com.kabouzeid.gramophone.model.MusicRemoteEvent;
|
||||
|
|
@ -35,9 +37,9 @@ import com.kabouzeid.gramophone.util.MusicUtil;
|
|||
import com.kabouzeid.gramophone.util.Util;
|
||||
import com.kabouzeid.gramophone.util.ViewUtil;
|
||||
import com.nineoldandroids.view.ViewPropertyAnimator;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
|
||||
import com.squareup.picasso.Callback;
|
||||
import com.squareup.picasso.Picasso;
|
||||
import com.squareup.picasso.Target;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
|
|
@ -229,29 +231,18 @@ public class MusicControllerActivity extends AbsFabActivity implements OnMusicRe
|
|||
}
|
||||
|
||||
private void setUpAlbumArtAndApplyPalette() {
|
||||
ImageLoader.getInstance().displayImage(MusicUtil.getAlbumArtUri(song.albumId).toString(), albumArt, new ImageLoadingListener() {
|
||||
@Override
|
||||
public void onLoadingStarted(String imageUri, View view) {
|
||||
albumArt.setImageResource(R.drawable.default_album_art);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
|
||||
albumArt.setImageResource(R.drawable.default_album_art);
|
||||
setStandardColors();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadingComplete(String imageUri, final View view, Bitmap loadedImage) {
|
||||
applyPalette(loadedImage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadingCancelled(String imageUri, View view) {
|
||||
albumArt.setImageResource(R.drawable.default_album_art);
|
||||
setStandardColors();
|
||||
}
|
||||
});
|
||||
setStandardColors();
|
||||
Picasso.with(this)
|
||||
.load(MusicUtil.getAlbumArtUri(song.albumId))
|
||||
.placeholder(R.drawable.default_album_art)
|
||||
.into(albumArt, new Callback.EmptyCallback() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
super.onSuccess();
|
||||
final Bitmap bitmap = ((BitmapDrawable) albumArt.getDrawable()).getBitmap();
|
||||
if (bitmap != null) applyPalette(bitmap);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void applyPalette(Bitmap bitmap) {
|
||||
|
|
@ -296,10 +287,14 @@ public class MusicControllerActivity extends AbsFabActivity implements OnMusicRe
|
|||
private void setUpArtistArt() {
|
||||
if (artistArt != null) {
|
||||
artistArt.setImageResource(R.drawable.default_artist_image);
|
||||
LastFMArtistImageLoader.loadArtistImage(this, song.artistName, new LastFMArtistImageLoader.ArtistImageLoaderCallback() {
|
||||
LastFMArtistImageUrlLoader.loadArtistImageUrl(this, song.artistName, false, new LastFMArtistImageUrlLoader.ArtistImageUrlLoaderCallback() {
|
||||
@Override
|
||||
public void onArtistImageLoaded(Bitmap artistImage) {
|
||||
artistArt.setImageBitmap(artistImage);
|
||||
public void onArtistImageUrlLoaded(String url) {
|
||||
Picasso.with(MusicControllerActivity.this)
|
||||
.load(url)
|
||||
.placeholder(R.drawable.default_artist_image)
|
||||
.error(R.drawable.default_artist_image)
|
||||
.into(artistArt);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,8 +30,6 @@ import com.kabouzeid.gramophone.util.ViewUtil;
|
|||
import com.melnykov.fab.FloatingActionButton;
|
||||
import com.nineoldandroids.view.ViewHelper;
|
||||
import com.nineoldandroids.view.ViewPropertyAnimator;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.utils.MemoryCacheUtils;
|
||||
|
||||
import org.jaudiotagger.audio.AudioFile;
|
||||
import org.jaudiotagger.audio.AudioFileIO;
|
||||
|
|
@ -356,13 +354,11 @@ public abstract class AbsTagEditorActivity extends ActionBarActivity {
|
|||
}
|
||||
if (deleteArtwork) {
|
||||
String imagePath = MusicUtil.getAlbumArtUri(getId()).toString();
|
||||
ImageLoader.getInstance().getDiskCache().remove(imagePath);
|
||||
MemoryCacheUtils.removeFromCache(imagePath, ImageLoader.getInstance().getMemoryCache());
|
||||
//TODO delete from picasso cache
|
||||
MusicUtil.deleteAlbumArt(AbsTagEditorActivity.this, getId());
|
||||
} else if (artwork != null) {
|
||||
String imagePath = MusicUtil.getAlbumArtUri(getId()).toString();
|
||||
MemoryCacheUtils.removeFromCache(imagePath, ImageLoader.getInstance().getMemoryCache());
|
||||
ImageLoader.getInstance().getDiskCache().remove(imagePath);
|
||||
//TODO delete from Picasso cache
|
||||
}
|
||||
progressDialog.dismiss();
|
||||
rescanMedia();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.kabouzeid.gramophone.ui.activities.tageditor;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
|
|
@ -10,15 +11,13 @@ import android.widget.EditText;
|
|||
import android.widget.Toast;
|
||||
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.lastfm.album.LastFMAlbumImageLoader;
|
||||
import com.kabouzeid.gramophone.lastfm.album.LastFMAlbumImageUrlLoader;
|
||||
import com.kabouzeid.gramophone.loader.AlbumSongLoader;
|
||||
import com.kabouzeid.gramophone.loader.SongFilePathLoader;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.core.process.BitmapProcessor;
|
||||
import com.squareup.picasso.Picasso;
|
||||
import com.squareup.picasso.Target;
|
||||
|
||||
import org.jaudiotagger.tag.FieldKey;
|
||||
import org.jaudiotagger.tag.images.Artwork;
|
||||
|
|
@ -89,20 +88,42 @@ public class AlbumTagEditorActivity extends AbsTagEditorActivity implements Text
|
|||
Toast.makeText(this, getResources().getString(R.string.album_or_artist_empty), Toast.LENGTH_SHORT).show();
|
||||
return;
|
||||
}
|
||||
LastFMAlbumImageLoader.loadAlbumImage(this, albumTitleStr, albumArtistNameStr, new LastFMAlbumImageLoader.AlbumImageLoaderCallback() {
|
||||
@Override
|
||||
public void onAlbumImageLoaded(Bitmap albumImage, String uri) {
|
||||
if (albumImage != null) {
|
||||
setImageBitmap(albumImage);
|
||||
albumArtBitmap = albumImage;
|
||||
deleteAlbumArt = false;
|
||||
dataChanged();
|
||||
Toast.makeText(AlbumTagEditorActivity.this, "Success.", Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
Toast.makeText(AlbumTagEditorActivity.this, "Failed.", Toast.LENGTH_SHORT).show();
|
||||
LastFMAlbumImageUrlLoader.loadAlbumImageUrl(this, albumTitleStr, albumArtistNameStr, new LastFMAlbumImageUrlLoader.AlbumImageUrlLoaderCallback() {
|
||||
@Override
|
||||
public void onAlbumImageUrlLoaded(String url) {
|
||||
Picasso.with(AlbumTagEditorActivity.this)
|
||||
.load(url)
|
||||
.resize(500, 500)
|
||||
.centerCrop()
|
||||
.onlyScaleDown()
|
||||
.into(new Target() {
|
||||
@Override
|
||||
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
|
||||
albumArtBitmap = bitmap;
|
||||
setImageBitmap(albumArtBitmap);
|
||||
deleteAlbumArt = false;
|
||||
dataChanged();
|
||||
Toast.makeText(AlbumTagEditorActivity.this, "Success.", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBitmapFailed(Drawable errorDrawable) {
|
||||
Toast.makeText(AlbumTagEditorActivity.this, "Failed.", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPrepareLoad(Drawable placeHolderDrawable) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError() {
|
||||
Toast.makeText(AlbumTagEditorActivity.this, "Failed.", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -166,24 +187,30 @@ public class AlbumTagEditorActivity extends AbsTagEditorActivity implements Text
|
|||
|
||||
@Override
|
||||
protected void loadImageFromFile(final Uri selectedFileUri) {
|
||||
DisplayImageOptions options = new DisplayImageOptions.Builder()
|
||||
.cacheInMemory(true)
|
||||
.cacheOnDisk(false)
|
||||
.postProcessor(new BitmapProcessor() {
|
||||
Picasso.with(this)
|
||||
.load(selectedFileUri)
|
||||
.resize(500, 500)
|
||||
.centerCrop()
|
||||
.onlyScaleDown()
|
||||
.into(new Target() {
|
||||
@Override
|
||||
public Bitmap process(Bitmap bmp) {
|
||||
Bitmap scaledBitmap = Util.getAlbumArtScaledBitmap(bmp, true);
|
||||
bmp.recycle();
|
||||
return scaledBitmap;
|
||||
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
|
||||
albumArtBitmap = bitmap;
|
||||
setImageBitmap(albumArtBitmap);
|
||||
deleteAlbumArt = false;
|
||||
dataChanged();
|
||||
}
|
||||
})
|
||||
.build();
|
||||
albumArtBitmap = ImageLoader.getInstance().loadImageSync(selectedFileUri.toString(), options);
|
||||
if (albumArtBitmap != null) {
|
||||
setImageBitmap(albumArtBitmap);
|
||||
deleteAlbumArt = false;
|
||||
dataChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBitmapFailed(Drawable errorDrawable) {
|
||||
//TODO Toast could not read file
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPrepareLoad(Drawable placeHolderDrawable) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue