Added progress dialog when loading a file. Removed some default text from the view...
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Tue, 3 Jan 2012 18:58:10 +0000 (18:58 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Tue, 3 Jan 2012 18:58:10 +0000 (18:58 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@267 180e2498-e6e9-4542-8430-84ac67f01cd8

android/res/layout/openrocketviewer.xml
src/net/sf/openrocket/android/rocket/OpenRocketViewer.java

index 1f024e0bb2654208aff3dc36ae9ef57b38a0e009..12634b90b8e62ddc8c373860c7bed7ff6039efb2 100644 (file)
@@ -8,7 +8,7 @@
         android:id="@+id/heading"\r
         android:layout_width="fill_parent"\r
         android:layout_height="wrap_content"\r
-        android:text="Started" />\r
+        android:text="" />\r
 \r
     <ListView\r
         android:id="@+id/rocketSimulations"\r
index 35022c87d31a4707c42bb4c92497d47906d3dd60..aa00834557c5cdd81310fe4f93f7d3f1cb70d322 100644 (file)
@@ -11,6 +11,7 @@ import net.sf.openrocket.android.simulation.SimulationViewer;
 import net.sf.openrocket.document.OpenRocketDocument;\r
 import net.sf.openrocket.document.Simulation;\r
 import android.app.Activity;\r
+import android.app.ProgressDialog;\r
 import android.content.Intent;\r
 import android.net.Uri;\r
 import android.os.Bundle;\r
@@ -31,11 +32,14 @@ public class OpenRocketViewer extends Activity {
 \r
        private static final String TAG = "OpenRocketViewer";\r
 \r
-       TextView header;\r
-       ListView simulationList;\r
-       \r
-       Application app;\r
+       private ProgressDialog progress;\r
+\r
+       private TextView header;\r
+       private ListView simulationList;\r
+\r
+       private Application app;\r
 \r
+       private final static int PICK_ORK_FILE_RESULT = 1;\r
 \r
        /* (non-Javadoc)\r
         * @see android.app.Activity#onCreate(android.os.Bundle)\r
@@ -43,21 +47,59 @@ public class OpenRocketViewer extends Activity {
        @Override\r
        protected void onCreate(Bundle savedInstanceState) {\r
                super.onCreate(savedInstanceState);\r
-               \r
+\r
                Log.d(TAG,"In onCreate");\r
-               \r
+\r
                app = (Application) this.getApplication();\r
 \r
                setContentView(R.layout.openrocketviewer);\r
-               \r
+\r
                header = (TextView) findViewById(R.id.heading);\r
                simulationList = (ListView) findViewById(R.id.rocketSimulations);\r
 \r
                Intent i = getIntent();\r
                Uri file = i.getData();\r
-               String path = file.getPath();\r
+\r
+               if ( file == null ) {\r
+                       Intent intent = new Intent(Intent.ACTION_GET_CONTENT);\r
+                       intent.setType("file/*");\r
+                       startActivityForResult(intent,PICK_ORK_FILE_RESULT);\r
+\r
+               } else {\r
+                       loadOrkFile(file);\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
+               super.onDestroy();\r
+       }\r
+\r
+       @Override\r
+       protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
+               // TODO Auto-generated method stub\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
+               }\r
+       }\r
+       \r
+       private void loadOrkFile( Uri file ) {\r
                Log.d(TAG,"Use ork file: " + file);\r
+               String path = file.getPath();\r
                File orkFile = new File(path);\r
+               progress = ProgressDialog.show(this, "Loading file", "");\r
+\r
                final OpenRocketLoaderTask task = new OpenRocketLoaderTask() {\r
 \r
                        /* (non-Javadoc)\r
@@ -69,17 +111,18 @@ public class OpenRocketViewer extends Activity {
                                app.setRocketDocument( result );\r
                                updateContents();\r
                        }\r
-                       \r
+\r
                };\r
-               \r
+\r
                task.execute(orkFile);\r
+\r
        }\r
 \r
        private void updateContents() {\r
-               \r
+\r
                OpenRocketDocument rocket = app.getRocketDocument();\r
                header.setText( rocket.getRocket().getName());\r
-               \r
+\r
                ArrayAdapter<Simulation> sims = new ArrayAdapter<Simulation>(this,android.R.layout.simple_list_item_1,rocket.getSimulations()) {\r
 \r
                        @Override\r
@@ -104,16 +147,20 @@ public class OpenRocketViewer extends Activity {
                                i.putExtra("Simulation",(int)id);\r
                                startActivityForResult(i, 1/*magic*/);\r
                        }\r
-                       \r
+\r
                });\r
                simulationList.setAdapter(sims);\r
 \r
+               if ( progress.isShowing() ) {\r
+                       progress.dismiss();\r
+               }\r
+\r
        }\r
-       \r
+\r
        @Override\r
        public boolean onCreateOptionsMenu(Menu menu) {\r
-       MenuInflater inflater = getMenuInflater();\r
-       inflater.inflate(R.menu.rocket_viewer_option_menu, menu);\r
+               MenuInflater inflater = getMenuInflater();\r
+               inflater.inflate(R.menu.rocket_viewer_option_menu, menu);\r
                return true;\r
        }\r
 \r
@@ -134,9 +181,9 @@ public class OpenRocketViewer extends Activity {
 \r
        public void startMotorBrowser() {\r
                Log.d(TAG,"motorBrowserButton clicked");\r
-       Intent i = new Intent(OpenRocketViewer.this, MotorHierarchicalBrowser.class);\r
-       startActivity(i);\r
-    }\r
+               Intent i = new Intent(OpenRocketViewer.this, MotorHierarchicalBrowser.class);\r
+               startActivity(i);\r
+       }\r
 \r
 \r
 \r