package com.cheng.mvvmstudy.albumrobobinding.ui.dialog; import android.app.Activity; import android.app.Dialog; import android.content.DialogInterface; import android.view.View; import com.cheng.mvvmstudy.MVVMStudyApp; import com.cheng.mvvmstudy.R; import com.cheng.mvvmstudy.albumrobobinding.model.bean.Album; import com.cheng.mvvmstudy.albumrobobinding.ui.i.IDeleteAlbumView; import com.cheng.mvvmstudy.albumrobobinding.viewmodel.DeleteAlbumPresentationModel; import org.robobinding.ViewBinder; import org.robobinding.binder.BinderFactory; /** * @author Robert Taylor * @author Cheng Wei * @version $Revision: 1.0 $ * @since 1.0 */ public class DeleteAlbumDialog extends Dialog implements IDeleteAlbumView { private final Activity activity; public DeleteAlbumDialog(Activity activity, Album album) { super(activity); this.activity = activity; setCancelable(true); setOnCancelListener(new OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { navigateToAlbums(); } }); DeleteAlbumPresentationModel deleteAlbumDialogPresentationModel = new DeleteAlbumPresentationModel( this, getAlbumApp().getAlbumStore(), album); setTitle(R.string.delete_album); initializeContentView(R.layout.dialog_deletealbum, deleteAlbumDialogPresentationModel); } private void initializeContentView(int layoutId, Object presentationModel) { BinderFactory binderFactory = getAlbumApp().getReusableBinderFactory(); ViewBinder viewBinder = binderFactory.createViewBinder(getContext()); View rootView = viewBinder.inflateAndBind(layoutId, presentationModel); setContentView(rootView); } private MVVMStudyApp getAlbumApp() { return (MVVMStudyApp) getContext().getApplicationContext(); } @Override public void deleted() { navigateToAlbums(); } private void navigateToAlbums() { dismiss(); activity.finish(); } @Override public void cancelOperation() { dismiss(); } }