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/res/layout/custom_screen.xml b/res/layout/custom_screen.xml
index d1f1658..8bc03fb 100644
--- a/res/layout/custom_screen.xml
+++ b/res/layout/custom_screen.xml
@@ -33,7 +33,6 @@
         <FrameLayout android:id="@+id/main_content"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent"
-            android:foreground="?android:attr/windowContentOverlay"
         />
     </LinearLayout>
 </FrameLayout>
diff --git a/res/layout/title_bar_bg.xml b/res/layout/title_bar_bg.xml
index c4213b0..4b52ce1 100644
--- a/res/layout/title_bar_bg.xml
+++ b/res/layout/title_bar_bg.xml
@@ -15,9 +15,14 @@
    limitations under the License.
 -->
 
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_height="wrap_content"
     android:layout_width="wrap_content"
-    android:foreground="?android:attr/windowContentOverlay"
-    android:background="@color/white"
-    />
+    android:orientation="vertical"
+    >
+        <View
+            android:layout_height="5dip"
+            android:layout_width="fill_parent"
+            android:background="@*android:drawable/title_bar_shadow"
+            />
+</LinearLayout>
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);
         }
     }