package org.ohmage.activity;
import org.ohmage.R;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentActivity;
public class ErrorDialogActivity extends FragmentActivity {
public static final String EXTRA_TITLE = "extra_title";
public static final String EXTRA_MESSAGE = "extra_message";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState == null) {
String title = getIntent().getStringExtra(EXTRA_TITLE);
String message = getIntent().getStringExtra(EXTRA_MESSAGE);
if(title == null || message == null)
throw new RuntimeException("A title and message must be supplied to the ErrorDialog");
HelpDialogFragment.newInstance(title, message).show(getSupportFragmentManager(), "dialog");
}
}
public static class HelpDialogFragment extends DialogFragment {
public static HelpDialogFragment newInstance(String title, String message) {
HelpDialogFragment f = new HelpDialogFragment();
Bundle args = new Bundle();
args.putString(EXTRA_TITLE, title);
args.putString(EXTRA_MESSAGE, message);
f.setArguments(args);
return f;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(getArguments().getString(EXTRA_TITLE))
.setMessage(getArguments().getString(EXTRA_MESSAGE))
.setPositiveButton(R.string.ok, null);
return builder.create();
}
@Override
public void onDismiss(DialogInterface dialog) {
super.onDismiss(dialog);
getActivity().finish();
}
}
}