diff options
| author | Michael Kolb <kolby@google.com> | 2010-11-19 12:55:12 -0800 |
|---|---|---|
| committer | Michael Kolb <kolby@google.com> | 2010-11-19 13:58:17 -0800 |
| commit | 1bf231334fd4bda8dbde5b9a0345c756a213b3a2 (patch) | |
| tree | 412e2abc22e50b45a1d74ada226f84955ed2419e /src/com/android/browser/Controller.java | |
| parent | 63c0266b5d1fca4df859fe4fa3a9555d0783a2b6 (diff) | |
restore all tabs on demand
Bug: 3214151
introduced new flag to determine if all tabs should be restored
controlled by the Ui implementation
Change-Id: I3e296f87a93fae54693bca186bb06ecd6db11d02
Diffstat (limited to 'src/com/android/browser/Controller.java')
| -rw-r--r-- | src/com/android/browser/Controller.java | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java index 63f104a1..79fff3dc 100644 --- a/src/com/android/browser/Controller.java +++ b/src/com/android/browser/Controller.java @@ -83,6 +83,7 @@ import java.io.File; import java.net.URLEncoder; import java.util.Calendar; import java.util.HashMap; +import java.util.List; /** * Controller for browser @@ -239,11 +240,12 @@ public class Controller Calendar yesterday = Calendar.getInstance(); yesterday.add(Calendar.DATE, -1); - boolean dontRestoreIncognitoTabs = lastActiveDate == null + boolean restoreIncognitoTabs = !(lastActiveDate == null || lastActiveDate.before(yesterday) - || lastActiveDate.after(today); + || lastActiveDate.after(today)); - if (!mTabControl.restoreState(icicle, dontRestoreIncognitoTabs)) { + if (!mTabControl.restoreState(icicle, restoreIncognitoTabs, + mUi.needsRestoreAllTabs())) { // there is no quit on Android. But if we can't restore the state, // we can treat it as a new Browser, remove the old session cookies. CookieManager.getInstance().removeSessionCookie(); @@ -280,7 +282,8 @@ public class Controller loadUrlDataIn(t, urlData); } } else { - if (dontRestoreIncognitoTabs) { + mUi.updateTabs(mTabControl.getTabs()); + if (!restoreIncognitoTabs) { WebView.cleanupPrivateBrowsingFiles(mActivity); } // TabControl.restoreState() will create a new tab even if @@ -338,6 +341,11 @@ public class Controller return mTabControl; } + @Override + public List<Tab> getTabs() { + return mTabControl.getTabs(); + } + // Open the icon database and retain all the icons for visited sites. private void retainIconsOnStartup() { final WebIconDatabase db = WebIconDatabase.getInstance(); |
