import net.sf.openrocket.android.thrustcurve.TCQueryAction;\r
import net.sf.openrocket.android.util.AndroidLogWrapper;\r
import net.sf.openrocket.motor.ThrustCurveMotorPlaceholder;\r
-import android.app.ProgressDialog;\r
+import net.sf.openrocket.rocketcomponent.Rocket;\r
import android.content.Intent;\r
import android.net.Uri;\r
import android.os.Bundle;\r
import android.support.v4.app.FragmentActivity;\r
\r
public class OpenRocketLoaderActivity extends FragmentActivity\r
-implements TCQueryAction.OnComplete\r
+implements TCQueryAction.OnComplete, OpenRocketLoaderFragment.OnOpenRocketFileLoaded\r
{\r
\r
- private OpenRocketLoaderResult result;\r
+ private final static String MISSING_MOTOR_DIAG_FRAGMENT_TAG = "missingmotordialog";\r
\r
- private Set<ThrustCurveMotorPlaceholder> missingMotors;\r
- private OpenRocketLoaderTask task;\r
- private ProgressDialog progress;\r
- private DialogFragment missingMotorDialog;\r
private TCMissingMotorDownloadAction missingMotorDownloadAction;\r
\r
@Override\r
Uri file = i.getData();\r
loadOrkFile(file);\r
} else {\r
- progress = ProgressDialog.show(this, "Loading file", "");\r
}\r
}\r
\r
\r
@Override\r
protected void onDestroy() {\r
- if ( progress != null ) {\r
- if ( progress.isShowing() ) {\r
- progress.dismiss();\r
- }\r
- progress = null;\r
- }\r
if ( missingMotorDownloadAction != null ) {\r
missingMotorDownloadAction.dismiss();\r
}\r
AndroidLogWrapper.d(OpenRocketLoaderActivity.class,"Use ork file: " + file);\r
String path = file.getPath();\r
File orkFile = new File(path);\r
- progress = ProgressDialog.show(this, "Loading file", "");\r
-\r
- task = new OpenRocketLoaderTask(this);\r
-\r
- task.execute(orkFile);\r
-\r
+ \r
+ getSupportFragmentManager().beginTransaction().add( OpenRocketLoaderFragment.newInstance(orkFile), "loader").commit();\r
+ \r
}\r
\r
/**\r
* \r
* @param result\r
*/\r
- void finishedLoading(OpenRocketLoaderResult result) {\r
- if ( progress != null && progress.isShowing() ) {\r
- progress.dismiss();\r
- }\r
- this.result = result;\r
+ public void onOpenRocketFileLoaded(OpenRocketLoaderResult result) {\r
((Application)OpenRocketLoaderActivity.this.getApplication()).setRocketDocument( result.rocket );\r
-\r
+ ((Application)OpenRocketLoaderActivity.this.getApplication()).setWarnings( result.warnings );\r
+ \r
updateMissingMotors();\r
\r
}\r
\r
private void updateMissingMotors() {\r
- missingMotors = MissingMotorHelpers.findMissingMotors(result.rocket.getRocket());\r
+ Rocket rocket = ((Application)OpenRocketLoaderActivity.this.getApplication()).getRocketDocument().getRocket();\r
+ Set<ThrustCurveMotorPlaceholder> missingMotors = MissingMotorHelpers.findMissingMotors(rocket);\r
\r
if ( missingMotors.size() > 0 ) {\r
- missingMotorDialog = MissingMotorDialogFragment.newInstance( missingMotors );\r
- missingMotorDialog.show(getSupportFragmentManager(), "missing motors");\r
+ DialogFragment missingMotorDialog = MissingMotorDialogFragment.newInstance( missingMotors );\r
+ getSupportFragmentManager().beginTransaction().add(missingMotorDialog, MISSING_MOTOR_DIAG_FRAGMENT_TAG).commit();\r
return;\r
}\r
\r
@Override\r
public void onComplete() {\r
\r
+ Rocket rocket = ((Application)OpenRocketLoaderActivity.this.getApplication()).getRocketDocument().getRocket();\r
+ WarningSet warnings = ((Application)OpenRocketLoaderActivity.this.getApplication()).getWarnings();\r
// Need to update the motor references.\r
- MissingMotorHelpers.updateMissingMotors(result.rocket.getRocket(), result.warnings);\r
+ MissingMotorHelpers.updateMissingMotors(rocket, warnings);\r
\r
displayWarningDialog();\r
}\r
\r
private void displayWarningDialog() {\r
- WarningSet warnings = result.warnings;\r
+ WarningSet warnings = ((Application)OpenRocketLoaderActivity.this.getApplication()).getWarnings();\r
if (warnings == null || warnings.isEmpty()) {\r
} else {\r
// TODO - Build a warning listing dialog\r
}\r
\r
public void doFixMissingMotors() {\r
-\r
- missingMotorDialog.dismiss();\r
+ Rocket rocket = ((Application)OpenRocketLoaderActivity.this.getApplication()).getRocketDocument().getRocket();\r
+ Set<ThrustCurveMotorPlaceholder> missingMotors = MissingMotorHelpers.findMissingMotors(rocket);\r
\r
missingMotorDownloadAction.setMissingMotors(missingMotors);\r
missingMotorDownloadAction.start();\r
}\r
\r
public void doNotFixMissingMotors() {\r
- missingMotorDialog.dismiss();\r
displayWarningDialog();\r
}\r
\r