lose embedded source jars from upstream branch
[debian/openrocket] / android / src / net / sf / openrocket / android / motor / MotorDetailsFragment.java
1 package net.sf.openrocket.android.motor;\r
2 \r
3 import net.sf.openrocket.R;\r
4 import net.sf.openrocket.android.db.ConversionUtils;\r
5 import net.sf.openrocket.android.db.DbAdapter;\r
6 import net.sf.openrocket.motor.ThrustCurveMotor;\r
7 import android.os.Bundle;\r
8 import android.support.v4.app.DialogFragment;\r
9 import android.view.LayoutInflater;\r
10 import android.view.View;\r
11 import android.view.ViewGroup;\r
12 import android.widget.Button;\r
13 import android.widget.EditText;\r
14 \r
15 public class MotorDetailsFragment extends DialogFragment {\r
16 \r
17         EditText manuField;\r
18         EditText nameField;\r
19         EditText delaysField;\r
20         EditText caseField;\r
21         EditText impulseClassField;\r
22         EditText diameterField;\r
23         EditText lengthField;\r
24 \r
25         ExtendedThrustCurveMotor motor;\r
26 \r
27         public static MotorDetailsFragment newInstance( long motorId ) {\r
28                 MotorDetailsFragment fragment = new MotorDetailsFragment();\r
29                 Bundle b = new Bundle();\r
30                 b.putLong("motorId", motorId);\r
31                 fragment.setArguments(b);\r
32                 return fragment;\r
33         }\r
34 \r
35         @Override\r
36         public void onCreate(Bundle savedInstanceState) {\r
37                 super.onCreate(savedInstanceState);\r
38                 setStyle(DialogFragment.STYLE_NO_TITLE,getTheme());\r
39 \r
40                 Long motorId;\r
41                 if ( savedInstanceState != null ) {\r
42                         motorId = savedInstanceState.getLong("motorId");\r
43                 } else {\r
44                         Bundle b = getArguments();\r
45                         motorId = b.getLong("motorId");\r
46                 }\r
47                 DbAdapter mDbHelper = new DbAdapter(getActivity());\r
48                 mDbHelper.open();\r
49                 try {\r
50                         motor = mDbHelper.getMotorDao().fetchMotor(motorId);\r
51                 } catch ( Exception e ) {\r
52                 }\r
53                 mDbHelper.close();\r
54         }\r
55 \r
56         @Override\r
57         public void onSaveInstanceState(Bundle arg0) {\r
58                 super.onSaveInstanceState(arg0);\r
59                 arg0.putLong("motorId", motor.getId());\r
60         }\r
61 \r
62         @Override\r
63         public View onCreateView(LayoutInflater inflater, ViewGroup container,\r
64                         Bundle savedInstanceState) {\r
65                 View v = inflater.inflate(R.layout.motor_detail_form, container, false);\r
66                 manuField = (EditText) v.findViewById(R.id.motorDetailsManufacturer);\r
67                 nameField = (EditText) v.findViewById(R.id.motorDetailsName);\r
68                 delaysField = (EditText) v.findViewById(R.id.motorDetailsDelays);\r
69                 caseField = (EditText) v.findViewById(R.id.motorDetailsCaseInfo);\r
70                 impulseClassField = (EditText) v.findViewById(R.id.motorDetailsImpuseClass);\r
71                 diameterField = (EditText) v.findViewById(R.id.motorDetailsDiameter);\r
72                 lengthField = (EditText) v.findViewById(R.id.motorDetailsLength);\r
73                 init();\r
74                 /* TODO - enable saving.\r
75                 ((Button) v.findViewById(R.id.motorDetailsSaveButton)).setOnClickListener(\r
76                                 new View.OnClickListener() {\r
77                                         @Override\r
78                                         public void onClick(View v) {\r
79                                                 MotorDetailsFragment.this.saveChanges();\r
80                                         }\r
81                                 });\r
82                                 */\r
83                 return v;\r
84         }\r
85 \r
86         private void init( ) {\r
87                 ThrustCurveMotor tcm = motor.getThrustCurveMotor();\r
88                 manuField.setText( tcm.getManufacturer().getDisplayName());\r
89                 nameField.setText( tcm.getDesignation() );\r
90                 delaysField.setText( ConversionUtils.delaysToString(tcm.getStandardDelays()) );\r
91                 caseField.setText( motor.getCaseInfo());\r
92                 impulseClassField.setText( motor.getImpulseClass());\r
93                 diameterField.setText( String.valueOf(tcm.getDiameter()*1000.0) );\r
94                 lengthField.setText( String.valueOf(tcm.getLength()*1000.0) );\r
95         }\r
96 \r
97         private void saveChanges() {\r
98                 DbAdapter mDbHelper = new DbAdapter(getActivity());\r
99                 mDbHelper.open();\r
100                 try {\r
101                         mDbHelper.getMotorDao().insertOrUpdateMotor(motor);\r
102                 } catch ( Exception e ) {\r
103                 }\r
104 \r
105         }\r
106 }\r