package com.cheng.mvvmstudy.albumrobobinding.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import org.robobinding.ViewBinder;
import com.cheng.mvvmstudy.R;
import com.cheng.mvvmstudy.albumrobobinding.base.BaseAbstractUi;
import com.cheng.mvvmstudy.albumrobobinding.model.bean.Album;
import com.cheng.mvvmstudy.albumrobobinding.viewmodel.ViewAlbumPresentationModel;
import com.cheng.mvvmstudy.albumrobobinding.ui.i.IViewAlbumView;
import com.cheng.mvvmstudy.albumrobobinding.ui.dialog.DeleteAlbumDialog;
/**
* @author Cheng Wei
* @author Robert Taylor
* @since 1.0
*/
public class ViewAlbumActivity extends BaseAbstractUi implements IViewAlbumView {
public static final String ALBUM_ID = "album_id";
private ViewAlbumPresentationModel presentationModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
long albumId = intent.getLongExtra(ALBUM_ID, Album.NO_ID);
if (albumId == Album.NO_ID) {
throw new IllegalArgumentException("No album id is given");
}
presentationModel = new ViewAlbumPresentationModel(this, getAlbumStore(), albumId);
ViewBinder viewBinder = createViewBinder(false);
View contentView = viewBinder.inflateAndBind(R.layout.activity_viewalbum, presentationModel);
setContentView(contentView);
}
@Override
protected void onResume() {
super.onResume();
presentationModel.refresh();
}
@Override
public void editAlbum(long albumId) {
Intent intent = new Intent(this, CreateEditAlbumActivity.class);
intent.putExtra(CreateEditAlbumActivity.ALBUM_ID, albumId);
startActivity(intent);
}
@Override
public void deleteAlbum(Album album) {
DeleteAlbumDialog deleteAlbumDialog = new DeleteAlbumDialog(this, album);
deleteAlbumDialog.show();
}
}