lose embedded source jars from upstream branch
[debian/openrocket] / android / src / net / sf / openrocket / android / rocket / MissingMotorDialogFragment.java
1 package net.sf.openrocket.android.rocket;\r
2 \r
3 import java.util.Set;\r
4 \r
5 import net.sf.openrocket.motor.ThrustCurveMotorPlaceholder;\r
6 import android.app.AlertDialog;\r
7 import android.app.Dialog;\r
8 import android.content.DialogInterface;\r
9 import android.os.Bundle;\r
10 import android.support.v4.app.DialogFragment;\r
11 \r
12 public class MissingMotorDialogFragment extends DialogFragment {\r
13         \r
14         private final static String MESSAGE_ARG_KEY = "message";\r
15 \r
16         public static MissingMotorDialogFragment newInstance( Set<ThrustCurveMotorPlaceholder> missingMotors ) {\r
17                 MissingMotorDialogFragment frag = new MissingMotorDialogFragment();\r
18                 Bundle b = new Bundle();\r
19                 b.putString(MESSAGE_ARG_KEY, buildMessage(missingMotors));\r
20                 frag.setArguments(b);\r
21                 return frag;\r
22         }\r
23 \r
24         private static String buildMessage( Set<ThrustCurveMotorPlaceholder> missingMotors ) {\r
25                 StringBuilder sb = new StringBuilder();\r
26                 sb.append("The following motors are missing:");\r
27                 for( ThrustCurveMotorPlaceholder m : missingMotors ) {\r
28                         sb.append("\n").append(m.getManufacturer()).append(" ").append(m.getDesignation());\r
29                 }\r
30                 sb.append("\nWould you like to download them from Thrustcurve?");\r
31                 return sb.toString();\r
32         }\r
33         \r
34         @Override\r
35         public void onCreate(Bundle savedInstanceState) {\r
36                 super.onCreate(savedInstanceState);\r
37                 setRetainInstance(true);\r
38                 setCancelable(false);\r
39         }\r
40 \r
41 \r
42         @Override\r
43         public Dialog onCreateDialog(Bundle savedInstanceState) {\r
44 \r
45                 String message = getArguments().getString(MESSAGE_ARG_KEY);\r
46                 \r
47                 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());\r
48                 //                      .setIcon(android.R.drawable.alert_dialog_icon)\r
49                 builder.setTitle("Missing Motors");\r
50                 builder.setMessage(message);\r
51                 builder.setPositiveButton("OK",\r
52                                 new DialogInterface.OnClickListener() {\r
53                         public void onClick(DialogInterface dialog, int whichButton) {\r
54                                 ((OpenRocketLoaderActivity)getActivity()).doFixMissingMotors();\r
55                         }\r
56                 }\r
57                                 );\r
58                 builder.setNegativeButton("Cancel",\r
59                                 new DialogInterface.OnClickListener() {\r
60                         public void onClick(DialogInterface dialog, int whichButton) {\r
61                                 ((OpenRocketLoaderActivity)getActivity()).doNotFixMissingMotors();\r
62                         }\r
63                 }\r
64                                 );\r
65                 return builder.create();\r
66         }\r
67 \r
68         /**\r
69          * Work around for dialog getting dismissed on orientation change.  See code.google.com/p/android/issues/detail?id=17423\r
70          */\r
71         @Override\r
72         public void onDestroyView() {\r
73                 if ( getDialog() != null  && getRetainInstance() ) {\r
74                         getDialog().setDismissMessage(null);\r
75                 }\r
76                 super.onDestroyView();\r
77         }\r
78         \r
79         \r
80 }\r
81 \r