\r
<category android:name="android.intent.category.LAUNCHER" />\r
</intent-filter>\r
- </activity>\r
- <activity\r
- android:name=".android.rocket.OpenRocketLoaderActivity"\r
- android:theme="@style/AppTheme.NoActionBar" >\r
-\r
<!--\r
I don't understand why I need to have two different intent filters. \r
Combining the <data> elements into a single field did not result in a working \r
<?xml version="1.0" encoding="utf-8"?>\r
<menu xmlns:android="http://schemas.android.com/apk/res/android" >\r
\r
+ <item\r
+ android:id="@+id/menu_load"\r
+ android:title="@string/load"/>\r
<item\r
android:id="@+id/menu_save"\r
android:title="@string/save"/>\r
<resources>\r
\r
<string name="app_name">OpenRocket</string>\r
- <string name="version">version 12.07-a1</string>\r
+ <string name="version">version 12.07-b2</string>\r
+ <string name="load">Load</string>\r
<string name="save">Save</string>\r
<string name="Add">Add</string>\r
<string name="MotorListTitle">Motor List</string>\r
android:title="@string/motorbrowsergrouptitle" />
<CheckBoxPreference
- android:defaultValue="false"
+ android:defaultValue="true"
android:title="@string/useinternalfilebrowsertitle"
android:key="@string/PreferenceUseInternalFileBrowserOption"
android:summary="@string/useinternalfilebrowsersummary"
package net.sf.openrocket.android;\r
\r
import net.sf.openrocket.R;\r
-import net.sf.openrocket.android.filebrowser.SimpleFileBrowser;\r
-import android.content.ActivityNotFoundException;\r
-import android.content.Intent;\r
-import android.content.SharedPreferences;\r
-import android.content.res.Resources;\r
-import android.net.Uri;\r
+import net.sf.openrocket.android.rocket.OpenRocketLoaderActivity;\r
import android.os.Bundle;\r
-import android.preference.PreferenceManager;\r
import android.view.View;\r
import android.widget.Button;\r
\r
-import com.actionbarsherlock.app.SherlockFragmentActivity;\r
import com.actionbarsherlock.view.Menu;\r
import com.actionbarsherlock.view.MenuInflater;\r
import com.actionbarsherlock.view.MenuItem;\r
\r
-public class Main extends SherlockFragmentActivity {\r
+public class Main extends OpenRocketLoaderActivity {\r
\r
- private static final int PICK_ORK_FILE_RESULT = 1;\r
\r
/** Called when the activity is first created. */\r
@Override\r
public void onCreate(Bundle icicle) {\r
super.onCreate(icicle);\r
+ // Rocket already loaded. go to viewer.\r
+ if ( CurrentRocketHolder.getCurrentRocket().getRocketDocument() != null ) {\r
+ moveOnToViewer();\r
+ finish();\r
+ }\r
setContentView(R.layout.main);\r
((Button) findViewById(R.id.main_open)).setOnClickListener(\r
new View.OnClickListener() {\r
return super.onOptionsItemSelected(item);\r
}\r
\r
- /* (non-Javadoc)\r
- * @see android.app.Activity#onActivityResult(int, int, android.content.Intent)\r
- */\r
- @Override\r
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
- switch ( requestCode ) {\r
- case PICK_ORK_FILE_RESULT:\r
- if(resultCode==RESULT_OK){\r
- Uri file = data.getData();\r
- Intent intent = new Intent(Intent.ACTION_VIEW);\r
- intent.setData(file);\r
- startActivity(intent);\r
- }\r
- break;\r
- }\r
- super.onActivityResult(requestCode, resultCode, data);\r
- }\r
-\r
- private void pickOrkFiles( ) {\r
- Resources resources = this.getResources();\r
- String key = resources.getString(R.string.PreferenceUseInternalFileBrowserOption);\r
- SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);\r
-\r
- boolean useinternalbrowser = pref.getBoolean(key, false);\r
-\r
- if ( useinternalbrowser ) {\r
- Intent intent = new Intent(Main.this, SimpleFileBrowser.class);\r
- startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
- } else {\r
- try {\r
- Intent intent = new Intent(Intent.ACTION_GET_CONTENT);\r
- intent.setType("file/*");\r
- startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
- } catch ( ActivityNotFoundException ex ) { \r
- // No activity for ACTION_GET_CONTENT use internal file browser\r
- // update the preference value.\r
- pref.edit().putBoolean(key, false).commit();\r
- // fire our browser\r
- Intent intent = new Intent(Main.this, SimpleFileBrowser.class);\r
- startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
- }\r
- } \r
- }\r
- public void pickOrkFiles( View v ) {\r
- pickOrkFiles();\r
- }\r
-\r
- public void browseMotors( View v ) {\r
- ActivityHelpers.browseMotors(this);\r
- }\r
-\r
}\r
import net.sf.openrocket.R;\r
import net.sf.openrocket.aerodynamics.WarningSet;\r
import net.sf.openrocket.android.CurrentRocketHolder;\r
+import net.sf.openrocket.android.filebrowser.SimpleFileBrowser;\r
import net.sf.openrocket.android.thrustcurve.TCMissingMotorDownloadAction;\r
import net.sf.openrocket.android.thrustcurve.TCQueryAction;\r
import net.sf.openrocket.android.util.AndroidLogWrapper;\r
import net.sf.openrocket.motor.ThrustCurveMotorPlaceholder;\r
import net.sf.openrocket.rocketcomponent.Rocket;\r
import android.app.AlertDialog;\r
+import android.content.ActivityNotFoundException;\r
import android.content.DialogInterface;\r
import android.content.Intent;\r
+import android.content.SharedPreferences;\r
+import android.content.res.Resources;\r
import android.net.Uri;\r
import android.os.Bundle;\r
+import android.preference.PreferenceManager;\r
import android.support.v4.app.DialogFragment;\r
\r
import com.actionbarsherlock.app.SherlockFragmentActivity;\r
implements TCQueryAction.OnTCQueryCompleteListener, OpenRocketLoaderFragment.OnOpenRocketFileLoaded\r
{\r
\r
+ private static final int PICK_ORK_FILE_RESULT = 1;\r
+\r
private final static String MISSING_MOTOR_DIAG_FRAGMENT_TAG = "missingmotordialog";\r
private final static String MISSING_MOTOR_DOWNLOAD_FRAGMENT_TAG = "missingmotortask";\r
\r
+ private boolean isLoading = false;\r
+\r
@Override\r
- protected void onCreate(Bundle savedInstanceState) {\r
- super.onCreate(savedInstanceState);\r
- setContentView(R.layout.main);\r
- if ( savedInstanceState == null || savedInstanceState.getBoolean("isLoading", false) == false ) {\r
- Intent i = getIntent();\r
+ protected void onPostCreate(Bundle savedInstanceState) {\r
+ super.onPostCreate(savedInstanceState);\r
+ Intent i = getIntent();\r
+ if (Intent.ACTION_VIEW.equals(i.getAction()) && i.getData() != null ) {\r
Uri file = i.getData();\r
loadOrkFile(file);\r
} else {\r
@Override\r
protected void onSaveInstanceState(Bundle outState) {\r
super.onSaveInstanceState(outState);\r
- outState.putBoolean("isLoading", true);\r
+ outState.putBoolean("isLoading", isLoading);\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see android.app.Activity#onActivityResult(int, int, android.content.Intent)\r
+ */\r
+ @Override\r
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
+ switch ( requestCode ) {\r
+ case PICK_ORK_FILE_RESULT:\r
+ if(resultCode==RESULT_OK){\r
+ Uri file = data.getData();\r
+ loadOrkFile(file);\r
+ }\r
+ break;\r
+ default:\r
+ super.onActivityResult(requestCode, resultCode, data);\r
+ }\r
+ }\r
+\r
+ protected void pickOrkFiles( ) {\r
+ Resources resources = this.getResources();\r
+ String key = resources.getString(R.string.PreferenceUseInternalFileBrowserOption);\r
+ SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);\r
+\r
+ boolean useinternalbrowser = pref.getBoolean(key, true);\r
+\r
+ if ( useinternalbrowser ) {\r
+ Intent intent = new Intent(OpenRocketLoaderActivity.this, SimpleFileBrowser.class);\r
+ startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
+ } else {\r
+ try {\r
+ Intent intent = new Intent(Intent.ACTION_GET_CONTENT);\r
+ intent.setType("file/*");\r
+ startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
+ } catch ( ActivityNotFoundException ex ) { \r
+ // No activity for ACTION_GET_CONTENT use internal file browser\r
+ // update the preference value.\r
+ pref.edit().putBoolean(key, false).commit();\r
+ // fire our browser\r
+ Intent intent = new Intent(OpenRocketLoaderActivity.this, SimpleFileBrowser.class);\r
+ startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
+ }\r
+ } \r
}\r
\r
private void loadOrkFile( Uri file ) {\r
+ isLoading = true;\r
CurrentRocketHolder.getCurrentRocket().setFileUri( file );\r
AndroidLogWrapper.d(OpenRocketLoaderActivity.class,"Use ork file: " + file);\r
String path = file.getPath();\r
* @param result\r
*/\r
public void onOpenRocketFileLoaded(OpenRocketLoaderResult result) {\r
+ isLoading = false;\r
if ( result.loadingError != null ) {\r
- \r
+\r
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);\r
dialogBuilder.setTitle("Error Loading File" );\r
dialogBuilder.setMessage( result.loadingError.getLocalizedMessage());\r
import android.support.v4.view.ViewPager;\r
import android.view.View;\r
\r
-import com.actionbarsherlock.app.SherlockFragmentActivity;\r
import com.actionbarsherlock.view.Menu;\r
import com.actionbarsherlock.view.MenuInflater;\r
import com.actionbarsherlock.view.MenuItem;\r
\r
-public class OpenRocketViewer extends SherlockFragmentActivity\r
+public class OpenRocketViewer extends OpenRocketLoaderActivity\r
implements Simulations.OnSimulationSelectedListener\r
{\r
\r
public boolean onMenuItemSelected(int featureId, MenuItem item) {\r
AndroidLogWrapper.d(OpenRocketViewer.class,"onMenuItemSelected" + item.getItemId());\r
switch(item.getItemId()) {\r
+ case R.id.menu_load:\r
+ // FIXME - Might want to prompt for save here.\r
+ pickOrkFiles();\r
+ return true;\r
case R.id.menu_save:\r
// FIXME - Probably want to open a dialog here.\r
try {\r