\r
import java.io.File;\r
\r
+import net.sf.openrocket.R;\r
import net.sf.openrocket.android.util.AndroidLogWrapper;\r
import net.sf.openrocket.android.util.ProgressDialogFragment;\r
import net.sf.openrocket.document.OpenRocketDocument;\r
import android.view.View;\r
import android.view.ViewGroup;\r
\r
-public class OpenRocketLoaderFragment extends Fragment {\r
+import com.actionbarsherlock.app.SherlockFragment;\r
+\r
+public class OpenRocketLoaderFragment extends SherlockFragment {\r
\r
private final static String FILE_ARG_KEY = "file";\r
\r
- private final static String LOADING_MESSAGE = "Loading file...";\r
-\r
public interface OnOpenRocketFileLoaded {\r
public void onOpenRocketFileLoaded( OpenRocketLoaderResult result );\r
}\r
@Override\r
protected void onPreExecute() {\r
super.onPreExecute();\r
- DialogFragment newFragment = ProgressDialogFragment.newInstance("", LOADING_MESSAGE);\r
+ String loading = getActivity().getResources().getString(R.string.loading);\r
+ DialogFragment newFragment = ProgressDialogFragment.newInstance("", loading);\r
newFragment.show(getFragmentManager(), PROGRESS_DIALOG_TAG);\r
}\r
\r
OpenRocketLoaderResult result = new OpenRocketLoaderResult();\r
try {\r
OpenRocketDocument rocket = rocketLoader.load(arg0[0], new DatabaseMotorFinderWithMissingMotors());\r
+ rocket.getDefaultConfiguration().setAllStages();\r
result.rocket = rocket;\r
result.warnings = rocketLoader.getWarnings();\r
} catch (RocketLoadException ex) {\r
@Override\r
protected void onPostExecute(OpenRocketLoaderResult result) {\r
super.onPostExecute(result);\r
- AndroidLogWrapper.d(OpenRocketLoaderActivity.class,"Finished loading " + OpenRocketLoaderTask.this);\r
+ AndroidLogWrapper.d(OpenRocketLoaderFragment.class,"Finished loading " + OpenRocketLoaderTask.this);\r
Fragment progress = getActivity().getSupportFragmentManager().findFragmentByTag(PROGRESS_DIALOG_TAG);\r
if ( progress != null ) {\r
- ((ProgressDialogFragment)progress).dismissAllowingStateLoss();\r
+ // Remove the fragment instead of trying to use DialogFragment.dismiss.\r
+ // If the dialog is now currently shown, dismiss fails.\r
+ getFragmentManager().beginTransaction().remove(progress).commitAllowingStateLoss();\r
}\r
if ( listener != null ) {\r
listener.onOpenRocketFileLoaded(result);\r