Merge "Don't restore all tabs for phone"
diff --git a/src/com/android/browser/AddBookmarkPage.java b/src/com/android/browser/AddBookmarkPage.java
index f330cd5..32db550 100644
--- a/src/com/android/browser/AddBookmarkPage.java
+++ b/src/com/android/browser/AddBookmarkPage.java
@@ -959,6 +959,7 @@
long root = mAccountAdapter.getItem(position).rootFolderId;
if (root != mRootFolder) {
onRootFolderFound(root);
+ mFolderAdapter.clearRecentFolder();
}
}
}
diff --git a/src/com/android/browser/addbookmark/FolderSpinnerAdapter.java b/src/com/android/browser/addbookmark/FolderSpinnerAdapter.java
index 67563c0..f86c9c6 100644
--- a/src/com/android/browser/addbookmark/FolderSpinnerAdapter.java
+++ b/src/com/android/browser/addbookmark/FolderSpinnerAdapter.java
@@ -154,4 +154,10 @@
notifyDataSetChanged();
}
+ public void clearRecentFolder() {
+ if (mIncludesRecentFolder) {
+ mIncludesRecentFolder = false;
+ notifyDataSetChanged();
+ }
+ }
}
diff --git a/tests/src/com/android/browser/PopularUrlsTest.java b/tests/src/com/android/browser/PopularUrlsTest.java
index f1ab71b..cbe8324 100644
--- a/tests/src/com/android/browser/PopularUrlsTest.java
+++ b/tests/src/com/android/browser/PopularUrlsTest.java
@@ -21,6 +21,7 @@
import android.net.Uri;
import android.net.http.SslError;
import android.os.Environment;
+import android.provider.Browser;
import android.test.ActivityInstrumentationTestCase2;
import android.text.TextUtils;
import android.util.Log;
@@ -458,7 +459,7 @@
while (mStatus.getIteration() < loopCount) {
if (clearCache) {
- webView.clearCache(true);
+ clearCacheUiThread(webView, true);
}
while(iterator.hasNext()) {
page = iterator.next();
@@ -467,6 +468,8 @@
Log.i(TAG, "start: " + page);
Uri uri = Uri.parse(page);
final Intent intent = new Intent(Intent.ACTION_VIEW, uri);
+ intent.putExtra(Browser.EXTRA_APPLICATION_ID,
+ getInstrumentation().getTargetContext().getPackageName());
long startTime = System.currentTimeMillis();
resetForNewPage();
@@ -480,7 +483,7 @@
waitForLoad();
long stopTime = System.currentTimeMillis();
- String url = webView.getUrl();
+ String url = getUrlUiThread(webView);
Log.i(TAG, "finish: " + url);
if (writer != null) {
@@ -534,4 +537,44 @@
}
}
}
+
+ private void clearCacheUiThread(final WebView webView, final boolean includeDiskFiles) {
+ Runnable runner = new Runnable() {
+
+ @Override
+ public void run() {
+ webView.clearCache(includeDiskFiles);
+ }
+ };
+ getInstrumentation().runOnMainSync(runner);
+ }
+
+ private String getUrlUiThread(final WebView webView) {
+ WebViewUrlGetter urlGetter = new WebViewUrlGetter(webView);
+ getInstrumentation().runOnMainSync(urlGetter);
+ return urlGetter.getUrl();
+ }
+
+ private class WebViewUrlGetter implements Runnable {
+
+ private WebView mWebView;
+ private String mUrl;
+
+ public WebViewUrlGetter(WebView webView) {
+ mWebView = webView;
+ }
+
+ @Override
+ public void run() {
+ mUrl = null;
+ mUrl = mWebView.getUrl();
+ }
+
+ public String getUrl() {
+ if (mUrl != null) {
+ return mUrl;
+ } else
+ throw new IllegalStateException("url has not been fetched yet");
+ }
+ }
}