diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java index 81ba9411642a4b751096e99ad36751d8fec61089..686cfcda0cdbbdee56ca3dfb82f80bb152c7c5be 100644 --- a/src/com/android/browser/Controller.java +++ b/src/com/android/browser/Controller.java @@ -262,13 +262,13 @@ public class Controller void start(final Bundle icicle, final Intent intent) { boolean noCrashRecovery = intent.getBooleanExtra(NO_CRASH_RECOVERY, false); if (icicle != null || noCrashRecovery) { - doStart(icicle, intent); + doStart(icicle, intent, false); } else { mCrashRecoveryHandler.startRecovery(intent); } } - void doStart(final Bundle icicle, final Intent intent) { + void doStart(final Bundle icicle, final Intent intent, final boolean fromCrash) { // Unless the last browser usage was within 24 hours, destroy any // remaining incognito tabs. @@ -296,13 +296,14 @@ public class Controller GoogleAccountLogin.startLoginIfNeeded(mActivity, new Runnable() { @Override public void run() { - onPreloginFinished(icicle, intent, currentTabId, restoreIncognitoTabs); + onPreloginFinished(icicle, intent, currentTabId, restoreIncognitoTabs, + fromCrash); } }); } private void onPreloginFinished(Bundle icicle, Intent intent, long currentTabId, - boolean restoreIncognitoTabs) { + boolean restoreIncognitoTabs, boolean fromCrash) { if (currentTabId == -1) { BackgroundHandler.execute(new PruneThumbnails(mActivity, null)); final Bundle extra = intent.getExtras(); @@ -346,7 +347,7 @@ public class Controller setActiveTab(mTabControl.getCurrentTab()); // Handle the intent if needed. If icicle != null, we are restoring // and the intent will be stale - ignore it. - if (icicle == null) { + if (icicle == null || fromCrash) { mIntentHandler.onNewIntent(intent); } } diff --git a/src/com/android/browser/CrashRecoveryHandler.java b/src/com/android/browser/CrashRecoveryHandler.java index c2fbbd2f4e6597985803e0f3e8f0e4d7600d8e7f..396985ab5a6652015136f5d396e03e5ad5198092 100644 --- a/src/com/android/browser/CrashRecoveryHandler.java +++ b/src/com/android/browser/CrashRecoveryHandler.java @@ -233,7 +233,7 @@ public class CrashRecoveryHandler { } updateLastRecovered(mRecoveryState != null ? System.currentTimeMillis() : 0); - mController.doStart(mRecoveryState, intent); + mController.doStart(mRecoveryState, intent, true); mRecoveryState = null; }