1 package net.sf.openrocket.android.rocket;
\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
19 public class OpenRocketLoaderActivity extends FragmentActivity {
\r
21 private ProgressDialog progress;
\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
33 protected void onDestroy() {
\r
34 if ( progress != null ) {
\r
35 if ( progress.isShowing() ) {
\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
49 final OpenRocketLoaderTask task = new OpenRocketLoaderTask() {
\r
52 * @see android.os.AsyncTask#onPostExecute(java.lang.Object)
\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
63 task.execute(orkFile);
\r
67 private void finishedLoading(OpenRocketLoaderResult result) {
\r
68 if ( progress.isShowing() ) {
\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
79 // TODO - Build a warning listing dialog
\r
80 DialogFragment newFragment = WarningDialogFragment.newInstance();
\r
81 newFragment.show(getSupportFragmentManager(), "dialog");
\r
85 public void doPositiveClick() {
\r
87 AndroidLogWrapper.i(OpenRocketLoaderActivity.class, "Positive click!");
\r
91 public void doNegativeClick() {
\r
93 AndroidLogWrapper.i(OpenRocketLoaderActivity.class, "Negative click!");
\r
97 public static class WarningDialogFragment extends DialogFragment {
\r
99 public static WarningDialogFragment newInstance() {
\r
100 WarningDialogFragment frag = new WarningDialogFragment();
\r
101 Bundle args = new Bundle();
\r
102 frag.setArguments(args);
\r
107 public Dialog onCreateDialog(Bundle savedInstanceState) {
\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
119 .setNegativeButton("Cancel",
\r
120 new DialogInterface.OnClickListener() {
\r
121 public void onClick(DialogInterface dialog, int whichButton) {
\r
122 ((OpenRocketLoaderActivity)getActivity()).doNegativeClick();
\r