From 7b69693a3ffad5dd1bcdc57b98786bbaf3a7354b Mon Sep 17 00:00:00 2001 From: Philipp Schaefer Date: Tue, 3 Dec 2013 13:49:38 +0100 Subject: [PATCH] - don't push current pane to backstack if it was called via back button - fixes endless loop of while toggling panes --- mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java index 92bcc447..dfda5290 100644 --- a/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java +++ b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java @@ -370,6 +370,7 @@ public class IITC_Mobile extends Activity implements OnSharedPreferenceChangeLis // Pop last item from backstack and pretend the relevant menu item was clicked if (!mBackStack.isEmpty()) { backStackPop(); + mBackButtonPressed = true; return; } @@ -405,8 +406,10 @@ public class IITC_Mobile extends Activity implements OnSharedPreferenceChangeLis // map pane is top-lvl. clear stack. if (pane == Pane.MAP) mBackStack.clear(); - else mBackStack.push(mCurrentPane); + // don't push current pane to backstack if this method was called via back button + else if (!mBackButtonPressed) mBackStack.push(mCurrentPane); + mBackButtonPressed = false; mCurrentPane = pane; mNavigationHelper.switchTo(pane); }