summaryrefslogtreecommitdiff
path: root/src/com/android/browser/Controller.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/browser/Controller.java')
-rw-r--r--src/com/android/browser/Controller.java16
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();