package com.jparkie.aizoban.views.fragments; import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.view.LayoutInflater; import android.view.View; import com.jparkie.aizoban.R; import com.jparkie.aizoban.models.databases.RecentChapter; import com.jparkie.aizoban.presenters.ResumeChapterPresenter; import com.jparkie.aizoban.presenters.ResumeChapterPresenterImpl; import com.jparkie.aizoban.views.ResumeChapterView; public class ResumeChapterFragment extends DialogFragment implements ResumeChapterView { public static final String TAG = ResumeChapterFragment.class.getSimpleName(); public static final String RECENT_CHAPTER_ARGUMENT_KEY = TAG + ":" + "RecentChapterArgumentKey"; private ResumeChapterPresenter mResumeChapterPresenter; public static ResumeChapterFragment newInstance(RecentChapter recentChapter) { ResumeChapterFragment newInstance = new ResumeChapterFragment(); Bundle arguments = new Bundle(); arguments.putParcelable(RECENT_CHAPTER_ARGUMENT_KEY, recentChapter); newInstance.setArguments(arguments); return newInstance; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mResumeChapterPresenter = new ResumeChapterPresenterImpl(this); } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { LayoutInflater dialogInflater = getActivity().getLayoutInflater(); View resumeChapterView = dialogInflater.inflate(R.layout.fragment_resume_chapter, null); AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getActivity()); dialogBuilder.setView(resumeChapterView) .setPositiveButton(R.string.resume_chapter_dialog_button_yes, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { mResumeChapterPresenter.onYesButtonClick(); } }) .setNegativeButton(R.string.resume_chapter_dialog_button_no, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { mResumeChapterPresenter.onNoButtonClick(); } }); return dialogBuilder.create(); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (savedInstanceState != null) { mResumeChapterPresenter.restoreState(savedInstanceState); } else { mResumeChapterPresenter.handleInitialArguments(getArguments()); } } @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); mResumeChapterPresenter.saveState(outState); } // ResumeChapterView: @Override public Context getContext() { return getActivity(); } }