Fixed issue navigation drawer hero don't show default album art and made the transition between navigation drawer and MusicControllerActivity fluid by using basically the same bitmap and let android do the center crop stuff

This commit is contained in:
Karim Abou Zeid 2015-04-17 12:13:15 +02:00
commit 5ca6bd5617
2 changed files with 14 additions and 5 deletions

View file

@ -2,6 +2,7 @@ package com.kabouzeid.gramophone.ui.activities;
import android.content.Intent; import android.content.Intent;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
@ -44,6 +45,7 @@ import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtils; import com.kabouzeid.gramophone.util.PreferenceUtils;
import com.kabouzeid.gramophone.util.Util; import com.kabouzeid.gramophone.util.Util;
import com.kabouzeid.gramophone.util.ViewUtil; import com.kabouzeid.gramophone.util.ViewUtil;
import com.koushikdutta.async.future.FutureCallback;
import com.koushikdutta.ion.Ion; import com.koushikdutta.ion.Ion;
import java.util.ArrayList; import java.util.ArrayList;
@ -189,9 +191,17 @@ public class MainActivity extends AbsFabActivity
Ion.with(this) Ion.with(this)
.load(MusicUtil.getAlbumArtUri(song.albumId).toString()) .load(MusicUtil.getAlbumArtUri(song.albumId).toString())
.withBitmap() .withBitmap()
.resize(navigationDrawerFragment.getAlbumArtImageView().getWidth(), navigationDrawerFragment.getAlbumArtImageView().getHeight()) .smartSize(false)
.centerCrop() .asBitmap()
.intoImageView(navigationDrawerFragment.getAlbumArtImageView()); .setCallback(new FutureCallback<Bitmap>() {
@Override
public void onCompleted(Exception e, Bitmap result) {
if (result != null)
navigationDrawerFragment.getAlbumArtImageView().setImageBitmap(result);
else
navigationDrawerFragment.getAlbumArtImageView().setImageResource(R.drawable.default_album_art);
}
});
navigationDrawerFragment.getSongTitle().setText(song.title); navigationDrawerFragment.getSongTitle().setText(song.title);
navigationDrawerFragment.getSongArtist().setText(song.artistName); navigationDrawerFragment.getSongArtist().setText(song.artistName);
} }

View file

@ -280,8 +280,7 @@ public class MusicControllerActivity extends AbsFabActivity {
Ion.with(MusicControllerActivity.this) Ion.with(MusicControllerActivity.this)
.load(MusicUtil.getAlbumArtUri(song.albumId).toString()) .load(MusicUtil.getAlbumArtUri(song.albumId).toString())
.withBitmap() .withBitmap()
.resize(albumArt.getWidth(), albumArt.getHeight()) .smartSize(false)
.centerCrop()
.asBitmap() .asBitmap()
.setCallback(new FutureCallback<Bitmap>() { .setCallback(new FutureCallback<Bitmap>() {
@TargetApi(Build.VERSION_CODES.LOLLIPOP) @TargetApi(Build.VERSION_CODES.LOLLIPOP)