package org.commcare.activities;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import org.commcare.utils.LifecycleUtils;
import org.commcare.views.dialogs.AlertDialogFragment;
import org.commcare.views.dialogs.StandardAlertDialog;
import org.javarosa.core.services.locale.Localization;
/**
* @author ctsims
*/
public class UnrecoverableErrorActivity extends FragmentActivity {
public static final String EXTRA_ERROR_TITLE = "UnrecoverableErrorActivity_Title";
public static final String EXTRA_ERROR_MESSAGE = "UnrecoverableErrorActivity_Message";
public static final String EXTRA_USE_MESSAGE = "use_extra_message";
private String title;
private String message;
private boolean useExtraMessage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
title = this.getIntent().getStringExtra(EXTRA_ERROR_TITLE);
message = this.getIntent().getStringExtra(EXTRA_ERROR_MESSAGE);
useExtraMessage = this.getIntent().getBooleanExtra(EXTRA_USE_MESSAGE, true);
createAlertDialog().show(getSupportFragmentManager(), "error-dialog");
}
private AlertDialogFragment createAlertDialog() {
if (useExtraMessage) {
message = message + "\n\n" + Localization.get("app.handled.error.explanation");
}
StandardAlertDialog d = new StandardAlertDialog(this, title, message);
DialogInterface.OnClickListener buttonListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
LifecycleUtils.restartCommCare(UnrecoverableErrorActivity.this, true);
}
};
d.setPositiveButton(Localization.get("app.storage.missing.button"), buttonListener);
return AlertDialogFragment.fromCommCareAlertDialog(d);
}
}