Cleanup Bookmarks, History, and SavedPages screen

- Redesigned bookmark thumbnail view
- Custom ImageView to scale the thumbnail properly
- Fix column count in bookmark expandable view
- Disable GroupView if we have only one account in bookmark

Change-Id: I2fccae50b9e96c909744bd5c7d0af7b373136c54
diff --git a/res/drawable-hdpi/img_bookmark_card_normal.9.png b/res/drawable-hdpi/img_bookmark_card_normal.9.png
new file mode 100644
index 0000000..78dc977
--- /dev/null
+++ b/res/drawable-hdpi/img_bookmark_card_normal.9.png
Binary files differ
diff --git a/res/drawable-hdpi/img_bookmark_card_pressed.9.png b/res/drawable-hdpi/img_bookmark_card_pressed.9.png
new file mode 100644
index 0000000..d195288
--- /dev/null
+++ b/res/drawable-hdpi/img_bookmark_card_pressed.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/img_bookmark_card_normal.9.png b/res/drawable-xhdpi/img_bookmark_card_normal.9.png
new file mode 100644
index 0000000..38f488e
--- /dev/null
+++ b/res/drawable-xhdpi/img_bookmark_card_normal.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/img_bookmark_card_pressed.9.png b/res/drawable-xhdpi/img_bookmark_card_pressed.9.png
new file mode 100644
index 0000000..9a30518
--- /dev/null
+++ b/res/drawable-xhdpi/img_bookmark_card_pressed.9.png
Binary files differ
diff --git a/res/drawable-xxhdpi/img_bookmark_card_normal.9.png b/res/drawable-xxhdpi/img_bookmark_card_normal.9.png
new file mode 100644
index 0000000..abb1ca2
--- /dev/null
+++ b/res/drawable-xxhdpi/img_bookmark_card_normal.9.png
Binary files differ
diff --git a/res/drawable-xxhdpi/img_bookmark_card_pressed.9.png b/res/drawable-xxhdpi/img_bookmark_card_pressed.9.png
new file mode 100644
index 0000000..d6fbad8
--- /dev/null
+++ b/res/drawable-xxhdpi/img_bookmark_card_pressed.9.png
Binary files differ
diff --git a/res/drawable/bookmark_thumb_selector.xml b/res/drawable/bookmark_thumb_selector.xml
index 5509aba..5c04410 100644
--- a/res/drawable/bookmark_thumb_selector.xml
+++ b/res/drawable/bookmark_thumb_selector.xml
@@ -15,8 +15,8 @@
 -->
 
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/bookmarks_widget_thumb_selector_focused" />
-    <item android:state_pressed="true" android:drawable="@drawable/bookmark_thumb_selector_transition" />
-    <item android:drawable="@android:color/transparent" />
+    <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/img_bookmark_card_pressed" />
+    <item android:state_pressed="true" android:drawable="@drawable/img_bookmark_card_pressed" />
+    <item android:drawable="@drawable/img_bookmark_card_normal" />
 </selector>
 
diff --git a/res/drawable/shadow_bottom.xml b/res/drawable/shadow_bottom.xml
new file mode 100644
index 0000000..b32acd7
--- /dev/null
+++ b/res/drawable/shadow_bottom.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    * Copyright (c) 2015, The Linux Foundation. All rights reserved.
+    *
+    * Redistribution and use in source and binary forms, with or without
+    * modification, are permitted provided that the following conditions are
+    * met:
+    * * Redistributions of source code must retain the above copyright
+    * notice, this list of conditions and the following disclaimer.
+    * * Redistributions in binary form must reproduce the above
+    * copyright notice, this list of conditions and the following
+    * disclaimer in the documentation and/or other materials provided
+    * with the distribution.
+    * * Neither the name of The Linux Foundation nor the names of its
+    * contributors may be used to endorse or promote products derived
+    * from this software without specific prior written permission.
+    *
+    * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+    * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+    * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+    * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+    * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+    * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+    * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+    * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+    * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    *
+    */
+-->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <gradient
+        android:startColor="#20000000"
+        android:centerColor="#0A777777"
+        android:endColor="#00FFFFFF"
+        android:angle="270"/>
+</shape>
\ No newline at end of file
diff --git a/res/drawable/shadow_top.xml b/res/drawable/shadow_top.xml
new file mode 100644
index 0000000..fb801d4
--- /dev/null
+++ b/res/drawable/shadow_top.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    * Copyright (c) 2015, The Linux Foundation. All rights reserved.
+    *
+    * Redistribution and use in source and binary forms, with or without
+    * modification, are permitted provided that the following conditions are
+    * met:
+    * * Redistributions of source code must retain the above copyright
+    * notice, this list of conditions and the following disclaimer.
+    * * Redistributions in binary form must reproduce the above
+    * copyright notice, this list of conditions and the following
+    * disclaimer in the documentation and/or other materials provided
+    * with the distribution.
+    * * Neither the name of The Linux Foundation nor the names of its
+    * contributors may be used to endorse or promote products derived
+    * from this software without specific prior written permission.
+    *
+    * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+    * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+    * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+    * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+    * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+    * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+    * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+    * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+    * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+    * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+    *
+    */
+-->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <gradient
+        android:startColor="#20000000"
+        android:centerColor="#0A777777"
+        android:endColor="#00FFFFFF"
+        android:angle="90"/>
+</shape>
\ No newline at end of file
diff --git a/res/layout-sw600dp/history.xml b/res/layout-sw600dp/history.xml
index 594b85f..cdf5493 100644
--- a/res/layout-sw600dp/history.xml
+++ b/res/layout-sw600dp/history.xml
@@ -39,18 +39,32 @@
             android:textAppearance="?android:attr/textAppearanceLarge"
             android:visibility="gone" />
 
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/combo_shadow_height"
+            android:layout_gravity="bottom"
+            android:background="@drawable/shadow_top" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/combo_shadow_height"
+            android:layout_gravity="top"
+            android:background="@drawable/shadow_bottom" />
+
     </FrameLayout>
 
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_alignParentBottom="true"
+        style="?android:attr/buttonBarStyle"
+        android:background="@color/primary"
         android:layout_weight="10">
 
         <Button
             android:id="@+id/clear_history_button"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
+            style="?android:attr/buttonBarButtonStyle"
             android:text="@string/clear_history" />
     </LinearLayout>
 </LinearLayout>
diff --git a/res/layout-sw600dp/snapshot_item.xml b/res/layout-sw600dp/snapshot_item.xml
index 2fc6ca8..0e28236 100644
--- a/res/layout-sw600dp/snapshot_item.xml
+++ b/res/layout-sw600dp/snapshot_item.xml
@@ -18,7 +18,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:padding="@dimen/combo_horizontalSpacing">
+    android:padding="@dimen/combo_snapshot_item_padding">
     <ImageView
         android:id="@+id/thumb"
         android:src="@drawable/thumbnail_bookmarks_widget_no_bookmark_holo"
@@ -51,7 +51,7 @@
         android:layout_below="@+id/thumb"
         android:layout_alignLeft="@+id/thumb"
         android:scaleType="fitXY"
-        android:layout_marginTop="12dip" />
+        android:layout_marginTop="6dip" />
     <TextView android:id="@+id/date"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
diff --git a/res/layout/bookmark_thumbnail.xml b/res/layout/bookmark_thumbnail.xml
index c7f9651..04d75c2 100644
--- a/res/layout/bookmark_thumbnail.xml
+++ b/res/layout/bookmark_thumbnail.xml
@@ -18,47 +18,35 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:padding="@dimen/combo_horizontalSpacing"
+    android:paddingLeft="@dimen/combo_horizontalSpacing"
+    android:paddingRight="@dimen/combo_horizontalSpacing"
+    android:layout_margin="@dimen/combo_bookmark_thumbnail_margin"
     android:background="@drawable/bookmark_thumb_selector"
+    android:orientation="vertical"
     >
 
-    <ImageView
-        android:id="@+id/thumb"
-        android:src="@drawable/browser_thumbnail"
-        android:scaleType="centerCrop"
-        android:layout_height="@dimen/bookmarkThumbnailHeight"
+    <com.android.browser.view.BookmarkThumbImageView
+        android:id="@+id/thumb_image"
         android:layout_width="@dimen/bookmarkThumbnailWidth"
-        android:layout_centerHorizontal="true"
-        android:background="@drawable/border_thumb_bookmarks_widget_holo"
+        android:layout_height="@dimen/bookmarkThumbnailHeight"
+        android:paddingTop="2dip"
+        android:scaleType="centerCrop"
+        android:src="@drawable/browser_thumbnail"
         />
 
-    <ImageView
-        android:id="@+id/divider"
-        android:src="?android:attr/dividerVertical"
-        android:layout_width="wrap_content"
-        android:layout_height="24dip"
-        android:layout_below="@+id/thumb"
-        android:layout_alignLeft="@+id/thumb"
-        android:scaleType="fitXY"
-        android:layout_marginTop="12dip"
-        />
-
-    <TextView android:id="@+id/label"
+    <TextView
+        android:id="@+id/label"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_toRightOf="@id/divider"
-        android:layout_alignTop="@id/divider"
-        android:layout_alignBottom="@id/divider"
-        android:layout_alignRight="@+id/thumb"
-        android:paddingLeft="8dip"
-        android:paddingRight="2dip"
-        android:gravity="center_vertical"
-        android:singleLine="true"
+        android:layout_height="wrap_content"
         android:ellipsize="marquee"
-        android:typeface="sans"
-        android:textSize="14sp"
-        android:textColor="#AAAAAA"
+        android:paddingLeft="8dip"
+        android:paddingRight="4dip"
+        android:paddingTop="2dip"
+        android:paddingBottom="2dip"
+        android:singleLine="true"
+        android:textColor="@color/black"
+        android:textSize="16sp"
+        android:fontFamily="sans-serif-light"
         />
 
 </com.android.browser.view.BookmarkContainer>
diff --git a/res/layout/bookmarks.xml b/res/layout/bookmarks.xml
index 02a5a97..2475af3 100644
--- a/res/layout/bookmarks.xml
+++ b/res/layout/bookmarks.xml
@@ -41,26 +41,44 @@
             android:textAppearance="?android:attr/textAppearanceLarge"
             android:text="@string/empty_bookmarks_folder"
             android:visibility="gone" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/combo_shadow_height"
+            android:layout_gravity="bottom"
+            android:background="@drawable/shadow_top" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/combo_shadow_height"
+            android:layout_gravity="top"
+            android:background="@drawable/shadow_bottom" />
+
     </FrameLayout>
+
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
+        android:orientation="horizontal"
         android:layout_weight="10"
-        android:layout_alignParentBottom="true" >
+        android:background="@color/primary"
+        style="?android:attr/buttonBarStyle" >
 
         <Button
             android:id="@+id/add_bookmark_button"
             android:text="@string/add_new_bookmark"
-            android:layout_width="match_parent"
+            android:layout_width="0dip"
             android:layout_height="wrap_content"
             android:layout_weight="1"
+            style="?android:attr/buttonBarButtonStyle"
             />
         <Button
             android:id="@+id/new_bmfolder_button"
             android:text="@string/new_folder"
-            android:layout_width="match_parent"
+            android:layout_width="0dip"
             android:layout_height="wrap_content"
             android:layout_weight="1"
+            style="?android:attr/buttonBarButtonStyle"
             />
     </LinearLayout>
 
diff --git a/res/layout/history.xml b/res/layout/history.xml
index 53f70dc..705c32d 100644
--- a/res/layout/history.xml
+++ b/res/layout/history.xml
@@ -39,18 +39,34 @@
             android:visibility="gone"
         />
 
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/combo_shadow_height"
+            android:layout_gravity="bottom"
+            android:background="@drawable/shadow_top" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/combo_shadow_height"
+            android:layout_gravity="top"
+            android:background="@drawable/shadow_bottom" />
+
     </FrameLayout>
+
+
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_weight="10"
-        android:layout_alignParentBottom="true" >
+        android:background="@color/primary"
+        style="?android:attr/buttonBarStyle" >
 
         <Button
             android:id="@+id/clear_history_button"
             android:text="@string/clear_history"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
+            style="?android:attr/buttonBarButtonStyle"
             />
     </LinearLayout>
 
diff --git a/res/layout/snapshot_item.xml b/res/layout/snapshot_item.xml
index 7c7ba3b..94a9898 100644
--- a/res/layout/snapshot_item.xml
+++ b/res/layout/snapshot_item.xml
@@ -18,7 +18,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:padding="@dimen/combo_horizontalSpacing">
+    android:padding="@dimen/combo_snapshot_item_padding">
     <ImageView
         android:id="@+id/thumb"
         android:src="@drawable/thumbnail_bookmarks_widget_no_bookmark_holo"
@@ -49,12 +49,12 @@
         android:layout_below="@+id/thumb"
         android:layout_alignLeft="@+id/thumb"
         android:layout_alignRight="@+id/thumb"
-        android:layout_marginTop="6dip"
+        android:layout_marginTop="5dip"
         android:paddingLeft="8dip"
         android:gravity="center_vertical"
-        android:typeface="sans"
+        android:textColor="@color/black"
         android:textSize="12sp"
-        android:textColor="#AAAAAA"
+        android:fontFamily="sans-serif-light"
         android:lines="2" />
     <ImageView
         android:id="@+id/divider"
diff --git a/res/layout/snapshots.xml b/res/layout/snapshots.xml
index a02fbb9..045a418 100644
--- a/res/layout/snapshots.xml
+++ b/res/layout/snapshots.xml
@@ -18,7 +18,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:paddingTop="@dimen/combo_paddingTop">
+    android:paddingTop="@dimen/combo_snapshot_paddingTop">
 
     <com.android.browser.view.SnapshotGridView
         android:id="@+id/grid"
@@ -37,4 +37,10 @@
         android:text="@string/empty_snapshots_folder"
         android:visibility="gone" />
 
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/combo_shadow_height"
+        android:layout_gravity="top"
+        android:background="@drawable/shadow_bottom" />
+
 </FrameLayout>
diff --git a/res/values-sw600dp/dimensions.xml b/res/values-sw600dp/dimensions.xml
index 8edbf5b..8e6bf31 100644
--- a/res/values-sw600dp/dimensions.xml
+++ b/res/values-sw600dp/dimensions.xml
@@ -12,7 +12,7 @@
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <dimen name="bookmarkThumbnailWidth">180dip</dimen>
-    <dimen name="bookmarkThumbnailHeight">120dip</dimen>
+    <dimen name="bookmarkThumbnailHeight">90dip</dimen>
     <dimen name="widgetThumbnailHeight">104dip</dimen>
     <dimen name="widgetColumnWidth">130dip</dimen>
     <dimen name="favicon_padded_size">28dip</dimen>
@@ -23,7 +23,7 @@
     <dimen name="mv_item_width_portrait">213px</dimen>
     <dimen name="mv_border_width">3px</dimen>
     <!-- For the combined Bookmarks History view -->
-    <dimen name="combo_paddingTop">50dip</dimen>
+    <dimen name="combo_paddingTop">0dip</dimen>
     <dimen name="combo_horizontalSpacing">8dip</dimen>
     <dimen name="suggest_item_padding">8dp</dimen>
     <dimen name="tab_thumbnail_width">240dip</dimen>
diff --git a/res/values-sw600dp/styles.xml b/res/values-sw600dp/styles.xml
index 44fe540..bcfb749 100644
--- a/res/values-sw600dp/styles.xml
+++ b/res/values-sw600dp/styles.xml
@@ -25,4 +25,7 @@
         <item name="android:actionBarSize">56dip</item>
     </style>
 
+    <style name="ComboViewTheme" parent="@style/BrowserBase">
+    </style>
+
 </resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index a7b76a1..480ca7d 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -24,7 +24,7 @@
     <!-- fundamental colors -->
     <color name="primary">#ffffff</color>
     <color name="navigation_bars">#101828</color>
-    <color name="accent">#008aa1</color>
+    <color name="accent">#FF1AACA2</color>
     <color name="browser_window_background">#ffffff</color>
 
     <!-- derived colors -->
@@ -47,6 +47,8 @@
     <color name="bookmarkWidgetFolderBackground">#A0383847</color>
     <color name="bookmarkWidgetFaviconBackground">#23ffffff</color>
     <color name="bookmarkListFaviconBackground">#23ffffff</color>
+    <color name="bookmarkLabelColor">#555555</color>
+    <color name="comboViewActionBarColor">#ffffff</color>
     <color name="tabFaviconBackground">#FF555555</color>
     <color name="tabFocusHighlight">#FF99CC00</color>
     <color name="tabViewTitleBackground">#D0000000</color>
diff --git a/res/values/dimensions.xml b/res/values/dimensions.xml
index 6741b26..cf6b60a 100755
--- a/res/values/dimensions.xml
+++ b/res/values/dimensions.xml
@@ -19,8 +19,8 @@
     <dimen name="tab_slice">15.5dp</dimen>
     <dimen name="tab_focus_stroke">2dip</dimen>
     <dimen name="max_tab_width">300dp</dimen>
-    <dimen name="bookmarkThumbnailWidth">90dip</dimen>
-    <dimen name="bookmarkThumbnailHeight">80dip</dimen>
+    <dimen name="bookmarkThumbnailWidth">130dip</dimen>
+    <dimen name="bookmarkThumbnailHeight">65dip</dimen>
     <!--Add for Navigation Feature -->
     <dimen name="mynav_item_width">80px</dimen>
     <dimen name="mynav_item_width_portrait">80px</dimen>
@@ -49,7 +49,11 @@
     <dimen name="widgetColumnWidth">80dip</dimen>
     <!-- For the combined Bookmarks History view -->
     <dimen name="combo_paddingTop">0dip</dimen>
+    <dimen name="combo_snapshot_paddingTop">0dip</dimen>
     <dimen name="combo_horizontalSpacing">6dip</dimen>
+    <dimen name="combo_bookmark_thumbnail_margin">4dip</dimen>
+    <dimen name="combo_snapshot_item_padding">12dip</dimen>
+    <dimen name="combo_shadow_height">8dip</dimen>
     <dimen name="tab_view_thumbnail_height">76dip</dimen>
     <!-- Preference activity side margins -->
     <dimen name="preference_screen_side_margin">0dp</dimen>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index db4ac91..ec0f34c 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -69,6 +69,16 @@
     <style name="SettingsTheme" parent="@style/BrowserBase">
     </style>
 
+    <style name="ComboViewActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
+        <item name="android:background">@color/comboViewActionBarColor</item>
+    </style>
+    <style name="ComboViewActionBarTabBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar.TabBar">
+        <item name="android:background">@color/comboViewActionBarColor</item>
+    </style>
+    <style name="ComboViewTheme" parent="@style/BrowserBase">
+        <item name="android:actionBarStyle">@style/ComboViewActionBarStyle</item>
+        <item name="android:actionBarTabBarStyle">@style/ComboViewActionBarTabBarStyle</item>
+    </style>
 
     <style name="NavButton">
         <item name="android:background">?android:attr/selectableItemBackground</item>