Change all calls to android.util.Log to use the AndroidLogWrapper class since it...
[debian/openrocket] / android / src / net / sf / openrocket / android / rocket / OpenRocketLoaderActivity.java
1 package net.sf.openrocket.android.rocket;\r
2 \r
3 import java.io.File;\r
4 \r
5 import net.sf.openrocket.R;\r
6 import net.sf.openrocket.aerodynamics.WarningSet;\r
7 import net.sf.openrocket.android.Application;\r
8 import net.sf.openrocket.android.util.AndroidLogWrapper;\r
9 import android.app.AlertDialog;\r
10 import android.app.Dialog;\r
11 import android.app.ProgressDialog;\r
12 import android.content.DialogInterface;\r
13 import android.content.Intent;\r
14 import android.net.Uri;\r
15 import android.os.Bundle;\r
16 import android.support.v4.app.DialogFragment;\r
17 import android.support.v4.app.FragmentActivity;\r
18 \r
19 public class OpenRocketLoaderActivity extends FragmentActivity {\r
20 \r
21         private ProgressDialog progress;\r
22 \r
23         @Override\r
24         protected void onCreate(Bundle savedInstanceState) {\r
25                 super.onCreate(savedInstanceState);\r
26                 setContentView(R.layout.main);\r
27                 Intent i = getIntent();\r
28                 Uri file = i.getData();\r
29                 loadOrkFile(file);\r
30         }\r
31 \r
32         @Override\r
33         protected void onDestroy() {\r
34                 if ( progress != null ) {\r
35                         if ( progress.isShowing() ) {\r
36                                 progress.dismiss();\r
37                         }\r
38                         progress = null;\r
39                 }\r
40                 super.onDestroy();\r
41         }\r
42 \r
43         private void loadOrkFile( Uri file ) {\r
44                 AndroidLogWrapper.d(OpenRocketLoaderActivity.class,"Use ork file: " + file);\r
45                 String path = file.getPath();\r
46                 File orkFile = new File(path);\r
47                 progress = ProgressDialog.show(this, "Loading file", "");\r
48 \r
49                 final OpenRocketLoaderTask task = new OpenRocketLoaderTask() {\r
50 \r
51                         /* (non-Javadoc)\r
52                          * @see android.os.AsyncTask#onPostExecute(java.lang.Object)\r
53                          */\r
54                         @Override\r
55                         protected void onPostExecute(OpenRocketLoaderResult result) {\r
56                                 super.onPostExecute(result);\r
57                                 AndroidLogWrapper.d(OpenRocketLoaderActivity.class,"Finished loading " + OpenRocketLoaderActivity.this);\r
58                                 finishedLoading(result);\r
59                         }\r
60 \r
61                 };\r
62 \r
63                 task.execute(orkFile);\r
64 \r
65         }\r
66         \r
67         private void finishedLoading(OpenRocketLoaderResult result) {\r
68                 if ( progress.isShowing() ) {\r
69                         progress.dismiss();\r
70                 }\r
71 \r
72                 WarningSet warnings = result.warnings;\r
73                 if (warnings == null || warnings.isEmpty()) {\r
74                         ((Application)OpenRocketLoaderActivity.this.getApplication()).setRocketDocument( result.rocket );\r
75                         Intent i = new Intent(this,OpenRocketViewer.class);\r
76                         startActivity(i);\r
77                         finish();\r
78                 } else {\r
79                         // TODO - Build a warning listing dialog\r
80                         DialogFragment newFragment = WarningDialogFragment.newInstance();\r
81                         newFragment.show(getSupportFragmentManager(), "dialog");\r
82                 }\r
83         }\r
84 \r
85     public void doPositiveClick() {\r
86         // Do stuff here.\r
87         AndroidLogWrapper.i(OpenRocketLoaderActivity.class, "Positive click!");\r
88         finish();\r
89     }\r
90 \r
91     public void doNegativeClick() {\r
92         // Do stuff here.\r
93         AndroidLogWrapper.i(OpenRocketLoaderActivity.class, "Negative click!");\r
94         finish();\r
95     }\r
96 \r
97     public static class WarningDialogFragment extends DialogFragment {\r
98 \r
99             public static WarningDialogFragment newInstance() {\r
100                 WarningDialogFragment frag = new WarningDialogFragment();\r
101                 Bundle args = new Bundle();\r
102                 frag.setArguments(args);\r
103                 return frag;\r
104             }\r
105 \r
106             @Override\r
107             public Dialog onCreateDialog(Bundle savedInstanceState) {\r
108 \r
109                 return new AlertDialog.Builder(getActivity())\r
110 //                      .setIcon(android.R.drawable.alert_dialog_icon)\r
111                         .setTitle("Warnings")\r
112                         .setPositiveButton("OK",\r
113                             new DialogInterface.OnClickListener() {\r
114                                 public void onClick(DialogInterface dialog, int whichButton) {\r
115                                     ((OpenRocketLoaderActivity)getActivity()).doPositiveClick();\r
116                                 }\r
117                             }\r
118                         )\r
119                         .setNegativeButton("Cancel",\r
120                             new DialogInterface.OnClickListener() {\r
121                                 public void onClick(DialogInterface dialog, int whichButton) {\r
122                                     ((OpenRocketLoaderActivity)getActivity()).doNegativeClick();\r
123                                 }\r
124                             }\r
125                         )\r
126                         .create();\r
127             }\r
128         }\r
129 }\r