1 package net.sf.openrocket.android.rocket;
\r
3 import java.util.Set;
\r
5 import net.sf.openrocket.R;
\r
6 import net.sf.openrocket.android.util.AndroidLogWrapper;
\r
7 import net.sf.openrocket.motor.ThrustCurveMotorPlaceholder;
\r
8 import android.app.AlertDialog;
\r
9 import android.app.Dialog;
\r
10 import android.content.DialogInterface;
\r
11 import android.os.Bundle;
\r
13 import com.actionbarsherlock.app.SherlockDialogFragment;
\r
15 public class MissingMotorDialogFragment extends SherlockDialogFragment {
\r
17 private final static String MESSAGES_ARG_KEY = "messages";
\r
19 public static MissingMotorDialogFragment newInstance( Set<ThrustCurveMotorPlaceholder> missingMotors ) {
\r
20 MissingMotorDialogFragment frag = new MissingMotorDialogFragment();
\r
21 Bundle b = new Bundle();
\r
22 String[] messages = new String[ missingMotors.size() ];
\r
24 for( ThrustCurveMotorPlaceholder m : missingMotors ) {
\r
25 messages[index++] = m.getManufacturer() + " " + m.getDesignation();
\r
27 b.putStringArray(MESSAGES_ARG_KEY, messages);
\r
28 frag.setArguments(b);
\r
29 frag.setCancelable(false);
\r
33 private String buildMessage( String[] missingMotors ) {
\r
34 StringBuilder sb = new StringBuilder();
\r
35 sb.append(this.getString(R.string.missingMotorsMessageStart));
\r
36 for( String m : missingMotors ) {
\r
37 sb.append("\n").append(m);
\r
39 sb.append("\n").append(this.getString(R.string.missingMotorsMessageEnd));
\r
40 return sb.toString();
\r
44 public void onCancel(DialogInterface dialog) {
\r
45 ((OpenRocketLoaderActivity)getActivity()).doNotFixMissingMotors();
\r
46 super.onCancel(dialog);
\r
50 public Dialog onCreateDialog(Bundle savedInstanceState) {
\r
52 AndroidLogWrapper.d(MissingMotorDialogFragment.class,"onCreateDialog");
\r
54 String[] messages = getArguments().getStringArray(MESSAGES_ARG_KEY);
\r
56 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
\r
57 // .setIcon(android.R.drawable.alert_dialog_icon)
\r
58 builder.setTitle(R.string.missingMotors);
\r
59 builder.setMessage(buildMessage(messages));
\r
60 builder.setPositiveButton(R.string.yes,
\r
61 new DialogInterface.OnClickListener() {
\r
62 public void onClick(DialogInterface dialog, int whichButton) {
\r
63 ((OpenRocketLoaderActivity)getActivity()).doFixMissingMotors();
\r
67 builder.setNegativeButton(R.string.no,
\r
68 new DialogInterface.OnClickListener() {
\r
69 public void onClick(DialogInterface dialog, int whichButton) {
\r
70 ((OpenRocketLoaderActivity)getActivity()).doNotFixMissingMotors();
\r
74 AlertDialog dialog = builder.create();
\r
75 dialog.setOwnerActivity(getActivity());
\r