Change around the handling for navigation from the action bar.
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Mon, 18 Jun 2012 01:48:17 +0000 (01:48 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Mon, 18 Jun 2012 01:48:17 +0000 (01:48 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@785 180e2498-e6e9-4542-8430-84ac67f01cd8

android/src/net/sf/openrocket/android/ActivityHelpers.java
android/src/net/sf/openrocket/android/Main.java
android/src/net/sf/openrocket/android/motor/MotorBrowserActivity.java
android/src/net/sf/openrocket/android/rocket/OpenRocketViewer.java

index 760176415b3d62f8ef9a489e6d9cc4e78fd26549..95ce5393f724ecb2ebc51e632894a0e4ae35a94a 100644 (file)
@@ -11,7 +11,8 @@ public abstract class ActivityHelpers {
 \r
        public static void goHome( Activity parent ) {\r
                Intent i = new Intent(parent, Main.class);\r
-               i.addFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP);\r
+               i.putExtra(Main.restartFlag, true);\r
+               i.addFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP + Intent.FLAG_ACTIVITY_NEW_TASK );\r
                parent.startActivity(i);\r
        }\r
        \r
index 9fe6d82590a290ae68029e68e5a05177d3065119..9c94130da2a8055950227993648122120900d788 100644 (file)
@@ -2,6 +2,7 @@ package net.sf.openrocket.android;
 \r
 import net.sf.openrocket.R;\r
 import net.sf.openrocket.android.rocket.OpenRocketLoaderActivity;\r
+import android.content.Intent;\r
 import android.os.Bundle;\r
 import android.view.View;\r
 import android.widget.Button;\r
@@ -12,15 +13,16 @@ import com.actionbarsherlock.view.MenuItem;
 \r
 public class Main extends OpenRocketLoaderActivity {\r
 \r
+       public final static String restartFlag = "restart";\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
+               Intent i = getIntent();\r
+               // Rocket already loaded.  go to viewer unless we want to restart.\r
+               if ( ( i.getBooleanExtra(restartFlag, false) == false)  && CurrentRocketHolder.getCurrentRocket().getRocketDocument() != null ) {\r
                        moveOnToViewer();\r
-                       return;\r
                }\r
                setContentView(R.layout.main);\r
                ((Button) findViewById(R.id.main_open)).setOnClickListener(\r
index 84f9b6f461244306be86be26ca7b2649c65936cf..60bb7be1beae87cb9245f416b79c144df8bddfba 100644 (file)
@@ -53,7 +53,9 @@ implements MotorListFragment.OnMotorSelectedListener
                AndroidLogWrapper.d(MotorBrowserActivity.class,"onMenuItemSelected" + item.getItemId());\r
                switch(item.getItemId()) {\r
                case android.R.id.home:\r
-                       ActivityHelpers.goHome(this);\r
+                       // we implement home in the motor browser as "back" since then it will return to\r
+                       // either main or the viewer.\r
+                       finish();\r
                        return true;\r
                case R.id.download_from_thrustcurve_menu_option:\r
                        ActivityHelpers.downloadFromThrustcurve(this,DOWNLOAD_REQUEST_CODE);\r
index 7f341dd61b508c0759e2426f8f938b9e4eb46030..801fb709de6cb8b849dd58c818b8dfa8700592bc 100644 (file)
@@ -42,7 +42,7 @@ implements Simulations.OnSimulationSelectedListener
                super.onCreate(savedInstanceState);\r
 \r
                setTitle(CurrentRocketHolder.getCurrentRocket().getRocketDocument().getRocket().getName());\r
-               getSupportActionBar().setDisplayHomeAsUpEnabled(true);\r
+               getSupportActionBar().setHomeButtonEnabled(true);\r
 \r
                setContentView(R.layout.openrocketviewer);\r
                ViewPager viewPager = (ViewPager)findViewById(R.id.pager);\r