Merge "Use a fixed title bar if accessibility is enabled" into jb-mr1-dev
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 385d494..e84e397 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -512,8 +512,8 @@
case R.id.save_link_context_menu_id:
case R.id.download_context_menu_id:
DownloadHandler.onDownloadStartNoStream(
- mActivity, url, null, null, null, null,
- view.isPrivateBrowsingEnabled());
+ mActivity, url, view.getSettings().getUserAgentString(),
+ null, null, null, view.isPrivateBrowsingEnabled());
break;
}
break;
@@ -860,11 +860,6 @@
public void onPageFinished(Tab tab) {
mCrashRecoveryHandler.backupState();
mUi.onTabDataChanged(tab);
- // pause the WebView timer and release the wake lock if it is finished
- // while BrowserActivity is in pause state.
- if (mActivityPaused && pauseWebViewTimers(tab)) {
- releaseWakeLock();
- }
// Performance probe
if (false) {
@@ -889,6 +884,10 @@
// onPageFinished has executed)
if (tab.inPageLoad()) {
updateInLoadMenuItems(mCachedMenu, tab);
+ } else if (mActivityPaused && pauseWebViewTimers(tab)) {
+ // pause the WebView timer and release the wake lock if it is
+ // finished while BrowserActivity is in pause state.
+ releaseWakeLock();
}
if (!tab.isPrivateBrowsingEnabled()
&& !TextUtils.isEmpty(tab.getUrl())
@@ -1434,9 +1433,9 @@
return false;
}
});
- menu.findItem(R.id.download_context_menu_id).
- setOnMenuItemClickListener(
- new Download(mActivity, extra, webview.isPrivateBrowsingEnabled()));
+ menu.findItem(R.id.download_context_menu_id).setOnMenuItemClickListener(
+ new Download(mActivity, extra, webview.isPrivateBrowsingEnabled(),
+ webview.getSettings().getUserAgentString()));
menu.findItem(R.id.set_wallpaper_context_menu_id).
setOnMenuItemClickListener(new WallpaperHandler(mActivity,
extra));
@@ -2166,6 +2165,7 @@
private Activity mActivity;
private String mText;
private boolean mPrivateBrowsing;
+ private String mUserAgent;
private static final String FALLBACK_EXTENSION = "dat";
private static final String IMAGE_BASE_FORMAT = "yyyy-MM-dd-HH-mm-ss-";
@@ -2174,16 +2174,18 @@
if (DataUri.isDataUri(mText)) {
saveDataUri();
} else {
- DownloadHandler.onDownloadStartNoStream(mActivity, mText, null,
+ DownloadHandler.onDownloadStartNoStream(mActivity, mText, mUserAgent,
null, null, null, mPrivateBrowsing);
}
return true;
}
- public Download(Activity activity, String toDownload, boolean privateBrowsing) {
+ public Download(Activity activity, String toDownload, boolean privateBrowsing,
+ String userAgent) {
mActivity = activity;
mText = toDownload;
mPrivateBrowsing = privateBrowsing;
+ mUserAgent = userAgent;
}
/**
diff --git a/src/com/android/browser/PhoneUi.java b/src/com/android/browser/PhoneUi.java
index e3c22bd..89eae70 100644
--- a/src/com/android/browser/PhoneUi.java
+++ b/src/com/android/browser/PhoneUi.java
@@ -54,6 +54,7 @@
private int mActionBarHeight;
boolean mAnimating;
+ boolean mShowNav = false;
/**
* @param browser
@@ -80,6 +81,8 @@
if (mUseQuickControls) {
mTitleBar.setShowProgressOnly(false);
}
+ //Do nothing while at Nav show screen.
+ if (mShowNav) return;
super.editUrl(clearInput, forceIME);
}
@@ -131,6 +134,12 @@
mTitleBar.cancelTitleBarAnimation(true);
mTitleBar.setSkipTitleBarAnimations(true);
super.setActiveTab(tab);
+
+ //if at Nav screen show, detach tab like what showNavScreen() do.
+ if (mShowNav) {
+ detachTab(mActiveTab);
+ }
+
BrowserWebView view = (BrowserWebView) tab.getWebView();
// TabControl.setCurrentTab has been called before this,
// so the tab is guaranteed to have a webview
@@ -254,6 +263,7 @@
}
void showNavScreen() {
+ mShowNav = true;
mUiController.setBlockEvents(true);
if (mNavScreen == null) {
mNavScreen = new NavScreen(mActivity, mUiController, this);
@@ -334,6 +344,7 @@
}
void hideNavScreen(int position, boolean animate) {
+ mShowNav = false;
if (!showingNavScreen()) return;
final Tab tab = mUiController.getTabControl().getTab(position);
if ((tab == null) || !animate) {