package org.wikipedia.crash; import android.os.Bundle; import android.support.annotation.IdRes; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import org.wikipedia.R; import org.wikipedia.activity.FragmentUtil; public class CrashReportFragment extends Fragment { public interface Callback { void onStartOver(); void onQuit(); } public static CrashReportFragment newInstance() { return new CrashReportFragment(); } @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); View view = inflater.inflate(R.layout.fragment_crash_report, container, false); setOnClickListener(view, R.id.crash_report_start_over, new StartOverOnClickListener()); setOnClickListener(view, R.id.crash_report_quit, new QuitOnClickListener()); return view; } private void setOnClickListener(View view, @IdRes int id, View.OnClickListener listener) { view.findViewById(id).setOnClickListener(listener); } @Nullable private Callback getCallback() { return FragmentUtil.getCallback(this, Callback.class); } private class StartOverOnClickListener implements View.OnClickListener { @Override public void onClick(View v) { //noinspection ConstantConditions getCallback().onStartOver(); } } private class QuitOnClickListener implements View.OnClickListener { @Override public void onClick(View v) { //noinspection ConstantConditions getCallback().onQuit(); } } }