package io.github.mthli.Ninja.View;
import android.content.Context;
import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import io.github.mthli.Ninja.Browser.AlbumController;
import io.github.mthli.Ninja.Browser.BrowserController;
import io.github.mthli.Ninja.R;
public class Album {
private Context context;
private View albumView;
public View getAlbumView() {
return albumView;
}
private ImageView albumCover;
public void setAlbumCover(Bitmap bitmap) {
albumCover.setImageBitmap(bitmap);
}
private TextView albumTitle;
public String getAlbumTitle() {
return albumTitle.getText().toString();
}
public void setAlbumTitle(String title) {
albumTitle.setText(title);
}
private AlbumController albumController;
public void setAlbumController(AlbumController albumController) {
this.albumController = albumController;
}
private BrowserController browserController;
public void setBrowserController(BrowserController browserController) {
this.browserController = browserController;
}
public Album(Context context, AlbumController albumController, BrowserController browserController) {
this.context = context;
this.albumController = albumController;
this.browserController = browserController;
initUI();
}
private void initUI() {
albumView = LayoutInflater.from(context).inflate(R.layout.album, null, false);
albumView.setOnTouchListener(new SwipeToDismissListener(
albumView,
null,
new SwipeToDismissListener.DismissCallback() {
@Override
public boolean canDismiss(Object token) {
return true;
}
@Override
public void onDismiss(View view, Object token) {
browserController.removeAlbum(albumController);
}
}
));
albumView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
browserController.showAlbum(albumController, false, false, false);
}
});
albumView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
NinjaToast.show(context, albumTitle.getText().toString());
return true;
}
});
albumCover = (ImageView) albumView.findViewById(R.id.album_cover);
albumTitle = (TextView) albumView.findViewById(R.id.album_title);
albumTitle.setText(context.getString(R.string.album_untitled));
}
public void activate() {
albumView.setBackgroundResource(R.drawable.album_shape_blue);
}
public void deactivate() {
albumView.setBackgroundResource(R.drawable.album_shape_dark);
}
}