Add a shadow to the fake title bar.
Remove old code which requests windowOverlays. When inserting the
fake title bar, put a shadow underneath it. Do not show it if the
scroll is at the top, since it is transparent, and showing it along
with the shadow below the real title bar would show a darker shadow.
Fixes http://b/issue?id=2118813
Change-Id: I84b8975ea82cc8659b702112c7e67498f863916c
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index 7f8c0c6..b93c554 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -972,27 +972,25 @@
ViewGroup.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_APPLICATION_SUB_PANEL,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
- PixelFormat.OPAQUE);
+ PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP;
WebView mainView = mTabControl.getCurrentWebView();
- params.windowAnimations = mainView == null
- || mainView.getScrollY() != 0
- ? com.android.internal.R.style.Animation_DropDownDown : 0;
+ boolean atTop = mainView != null && mainView.getScrollY() == 0;
+ params.windowAnimations = atTop ? 0
+ : com.android.internal.R.style.Animation_DropDownDown;
// XXX : Without providing an offset, the fake title bar will be
// placed underneath the status bar. Use the global visible rect
// of mBrowserFrameLayout to determine the bottom of the status bar
Rect rectangle = new Rect();
mBrowserFrameLayout.getGlobalVisibleRect(rectangle);
params.y = rectangle.top;
- // Add a holder for the title bar. It is a FrameLayout, which
- // allows it to have an overlay shadow. It also has a white
- // background, which is the same as the background when it is
- // placed in a WebView.
+ // Add a holder for the title bar. It also holds a shadow to show
+ // below the title bar.
if (mFakeTitleBarHolder == null) {
mFakeTitleBarHolder = (ViewGroup) LayoutInflater.from(this)
.inflate(R.layout.title_bar_bg, null);
}
- mFakeTitleBarHolder.addView(mFakeTitleBar, mFakeTitleBarParams);
+ mFakeTitleBarHolder.addView(mFakeTitleBar, 0, mFakeTitleBarParams);
manager.addView(mFakeTitleBarHolder, params);
}
}