am fe87bd3a: Update the fake title bar appropriately.
Merge commit 'fe87bd3a3897e4bad65bb3d284659ae2f4e57570' into eclair-mr2-plus-aosp
* commit 'fe87bd3a3897e4bad65bb3d284659ae2f4e57570':
Update the fake title bar appropriately.
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index 1e7361b..a66334b 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -341,6 +341,7 @@
.findViewById(R.id.fullscreen_custom_content);
frameLayout.addView(mBrowserFrameLayout, COVER_SCREEN_PARAMS);
mTitleBar = new TitleBar(this);
+ mFakeTitleBar = new TitleBar(this);
// Create the tab control and our initial tab
mTabControl = new TabControl(this);
@@ -885,8 +886,8 @@
/**
* Since the actual title bar is embedded in the WebView, and removing it
- * would change its appearance, create a temporary title bar to go at
- * the top of the screen while the menu is open.
+ * would change its appearance, use a different TitleBar to show overlayed
+ * at the top of the screen, when the menu is open or the page is loading.
*/
private TitleBar mFakeTitleBar;
@@ -989,7 +990,7 @@
private void showFakeTitleBar() {
final View decor = getWindow().peekDecorView();
- if (mFakeTitleBar == null && mActiveTabsPage == null
+ if (mFakeTitleBar.getParent() == null && mActiveTabsPage == null
&& !mActivityInPause && decor != null
&& decor.getWindowToken() != null) {
Rect visRect = new Rect();
@@ -999,12 +1000,6 @@
}
return;
}
- final WebView webView = getTopWindow();
- mFakeTitleBar = new TitleBar(this);
- mFakeTitleBar.setTitleAndUrl(null, webView.getUrl());
- mFakeTitleBar.setProgress(webView.getProgress());
- mFakeTitleBar.setFavicon(webView.getFavicon());
- updateLockIconToLatest();
WindowManager manager
= (WindowManager) getSystemService(Context.WINDOW_SERVICE);
@@ -1053,7 +1048,7 @@
}
}
private void hideFakeTitleBar() {
- if (mFakeTitleBar == null) return;
+ if (mFakeTitleBar.getParent() == null) return;
WindowManager.LayoutParams params = (WindowManager.LayoutParams)
mFakeTitleBarHolder.getLayoutParams();
WebView mainView = mTabControl.getCurrentWebView();
@@ -1068,7 +1063,6 @@
manager.updateViewLayout(mFakeTitleBarHolder, params);
mFakeTitleBarHolder.removeView(mFakeTitleBar);
manager.removeView(mFakeTitleBarHolder);
- mFakeTitleBar = null;
}
/**
@@ -2068,9 +2062,7 @@
mTitle = title;
mTitleBar.setTitleAndUrl(title, url);
- if (mFakeTitleBar != null) {
- mFakeTitleBar.setTitleAndUrl(title, url);
- }
+ mFakeTitleBar.setTitleAndUrl(title, url);
}
/**
@@ -2113,9 +2105,7 @@
// Set the favicon in the title bar.
private void setFavicon(Bitmap icon) {
mTitleBar.setFavicon(icon);
- if (mFakeTitleBar != null) {
- mFakeTitleBar.setFavicon(icon);
- }
+ mFakeTitleBar.setFavicon(icon);
}
/**
@@ -3239,9 +3229,7 @@
@Override
public void onProgressChanged(WebView view, int newProgress) {
mTitleBar.setProgress(newProgress);
- if (mFakeTitleBar != null) {
- mFakeTitleBar.setProgress(newProgress);
- }
+ mFakeTitleBar.setProgress(newProgress);
if (newProgress == 100) {
// onProgressChanged() may continue to be called after the main
@@ -3722,9 +3710,7 @@
d = mMixLockIcon;
}
mTitleBar.setLock(d);
- if (mFakeTitleBar != null) {
- mFakeTitleBar.setLock(d);
- }
+ mFakeTitleBar.setLock(d);
}
/**