Restored broken functionality of "colored album footers" setting not applying immediately after checking.

This commit is contained in:
Karim Abou Zeid 2015-04-18 11:44:03 +02:00
commit be013e1558

View file

@ -12,6 +12,7 @@ import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import com.afollestad.materialdialogs.util.DialogUtils; import com.afollestad.materialdialogs.util.DialogUtils;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.loader.AlbumLoader; import com.kabouzeid.gramophone.loader.AlbumLoader;
import com.kabouzeid.gramophone.model.Album; import com.kabouzeid.gramophone.model.Album;
@ -38,7 +39,7 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
public static final String TAG = AlbumAdapter.class.getSimpleName(); public static final String TAG = AlbumAdapter.class.getSimpleName();
private final Activity activity; private final Activity activity;
private final boolean usePalette; private boolean usePalette;
private List<Album> dataSet; private List<Album> dataSet;
@Override @Override
@ -75,9 +76,9 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
.setCallback(new FutureCallback<ImageViewBitmapInfo>() { .setCallback(new FutureCallback<ImageViewBitmapInfo>() {
@Override @Override
public void onCompleted(Exception e, ImageViewBitmapInfo result) { public void onCompleted(Exception e, ImageViewBitmapInfo result) {
if(result != null){ if (result != null) {
BitmapInfo info = result.getBitmapInfo(); BitmapInfo info = result.getBitmapInfo();
if(info != null){ if (info != null) {
Bitmap bitmap = info.bitmap; Bitmap bitmap = info.bitmap;
if (bitmap != null) { if (bitmap != null) {
if (usePalette) if (usePalette)
@ -166,6 +167,18 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
footer.setBackgroundColor(defaultBarColor); footer.setBackgroundColor(defaultBarColor);
} }
@Override
public void onDetachedFromRecyclerView(RecyclerView recyclerView) {
super.onDetachedFromRecyclerView(recyclerView);
App.bus.unregister(this);
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
App.bus.register(this);
}
@Subscribe @Subscribe
public void onDataBaseEvent(DataBaseChangedEvent event) { public void onDataBaseEvent(DataBaseChangedEvent event) {
switch (event.getAction()) { switch (event.getAction()) {
@ -176,4 +189,14 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
break; break;
} }
} }
@Subscribe
public void onUIChangeEvent(UIPreferenceChangedEvent event) {
switch (event.getAction()) {
case UIPreferenceChangedEvent.ALBUM_OVERVIEW_PALETTE_CHANGED:
usePalette = (boolean) event.getValue();
notifyDataSetChanged();
break;
}
}
} }