From ae000b5126d91ac341e3b0dc9e85cbce1427ad48 Mon Sep 17 00:00:00 2001 From: Brad Lassey Date: Thu, 1 Dec 2011 17:53:02 -0500 Subject: [PATCH] bug 706822 - Delay when opening the AwesomeScreen and intermittent UI pauses when scrolling through listing of items r=dougt --- mobile/android/base/GeckoApp.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/mobile/android/base/GeckoApp.java b/mobile/android/base/GeckoApp.java index 25facb741d14..2c1e356420d5 100644 --- a/mobile/android/base/GeckoApp.java +++ b/mobile/android/base/GeckoApp.java @@ -137,6 +137,7 @@ abstract public class GeckoApp public String mLastTitle; public String mLastViewport; public byte[] mLastScreen; + public int mOwnActivityDepth = 0; private Vector mPluginViews = new Vector(); @@ -561,6 +562,8 @@ abstract public class GeckoApp protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); + if (mOwnActivityDepth > 0) + return; // we're showing one of our own activities and likely won't get paged out if (outState == null) outState = new Bundle(); rememberLastScreen(); @@ -710,10 +713,7 @@ abstract public class GeckoApp } void addTab() { - Intent intent = new Intent(mAppContext, AwesomeBar.class); - intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION | Intent.FLAG_ACTIVITY_NO_HISTORY); - intent.putExtra(AwesomeBar.TYPE_KEY, AwesomeBar.Type.ADD.name()); - startActivityForResult(intent, AWESOMEBAR_REQUEST); + showAwesomebar(AwesomeBar.Type.ADD); } void showTabs() { @@ -1527,6 +1527,8 @@ abstract public class GeckoApp registerReceiver(mSmsReceiver, mSmsFilter); registerReceiver(mConnectivityReceiver, mConnectivityFilter); + if (mOwnActivityDepth > 0) + mOwnActivityDepth--; } @Override @@ -1788,6 +1790,7 @@ abstract public class GeckoApp } } } + mOwnActivityDepth++; startActivityForResult(intent, AWESOMEBAR_REQUEST); return true; }