New folder visualization, renaming, staggering reorder

Change-Id: I62963d225e6ea5d2ec9d8ebc8a6d73099f5d6c7f
diff --git a/res/drawable-hdpi/portal_container_holo.9.png b/res/drawable-hdpi/portal_container_holo.9.png
index af2fa98..a2fbcb6 100644
--- a/res/drawable-hdpi/portal_container_holo.9.png
+++ b/res/drawable-hdpi/portal_container_holo.9.png
Binary files differ
diff --git a/res/drawable-hdpi/portal_ring_inner_holo.png b/res/drawable-hdpi/portal_ring_inner_holo.png
index 8a9e85b..e671d1b 100644
--- a/res/drawable-hdpi/portal_ring_inner_holo.png
+++ b/res/drawable-hdpi/portal_ring_inner_holo.png
Binary files differ
diff --git a/res/drawable-hdpi/portal_ring_outer_holo.png b/res/drawable-hdpi/portal_ring_outer_holo.png
index 5b46419..7aad607 100644
--- a/res/drawable-hdpi/portal_ring_outer_holo.png
+++ b/res/drawable-hdpi/portal_ring_outer_holo.png
Binary files differ
diff --git a/res/drawable-mdpi/portal_container_holo.9.png b/res/drawable-mdpi/portal_container_holo.9.png
index 42aca5f..d2f9b58 100644
--- a/res/drawable-mdpi/portal_container_holo.9.png
+++ b/res/drawable-mdpi/portal_container_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/portal_ring_inner_holo.png b/res/drawable-mdpi/portal_ring_inner_holo.png
index 4a64694..dc0c041 100644
--- a/res/drawable-mdpi/portal_ring_inner_holo.png
+++ b/res/drawable-mdpi/portal_ring_inner_holo.png
Binary files differ
diff --git a/res/drawable-mdpi/portal_ring_outer_holo.png b/res/drawable-mdpi/portal_ring_outer_holo.png
index 90cf77f..5a7e740 100644
--- a/res/drawable-mdpi/portal_ring_outer_holo.png
+++ b/res/drawable-mdpi/portal_ring_outer_holo.png
Binary files differ
diff --git a/res/layout-land/folder_icon.xml b/res/layout-land/folder_icon.xml
index c76a756..60569c5 100644
--- a/res/layout-land/folder_icon.xml
+++ b/res/layout-land/folder_icon.xml
@@ -4,9 +4,9 @@
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
-  
+
           http://www.apache.org/licenses/LICENSE-2.0
-  
+
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -14,5 +14,19 @@
      limitations under the License.
 -->
 
-<com.android.launcher2.FolderIcon xmlns:android="http://schemas.android.com/apk/res/android"
- 	style="@style/WorkspaceIcon.Landscape" />
+<com.android.launcher2.FolderIcon
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+    <ImageView
+        android:id="@+id/preview_background"
+        android:layout_gravity="center_horizontal"
+        android:layout_width="@dimen/folder_preview_size"
+        android:layout_height="@dimen/folder_preview_size"
+        android:src="@drawable/portal_ring_inner_holo"/>
+    <com.android.launcher2.BubbleTextView
+        android:id="@+id/folder_name"
+        style="@style/WorkspaceIcon.Landscape"/>
+</com.android.launcher2.FolderIcon>
diff --git a/res/layout-port/folder_icon.xml b/res/layout-port/folder_icon.xml
index 49049cf..3f776de 100644
--- a/res/layout-port/folder_icon.xml
+++ b/res/layout-port/folder_icon.xml
@@ -4,9 +4,9 @@
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
-  
+
           http://www.apache.org/licenses/LICENSE-2.0
-  
+
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -14,5 +14,19 @@
      limitations under the License.
 -->
 
-<com.android.launcher2.FolderIcon xmlns:android="http://schemas.android.com/apk/res/android"
- 	style="@style/WorkspaceIcon.Portrait" />
+<com.android.launcher2.FolderIcon
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+    <ImageView
+        android:id="@+id/preview_background"
+        android:layout_gravity="center_horizontal"
+        android:layout_width="@dimen/folder_preview_size"
+        android:layout_height="@dimen/folder_preview_size"
+        android:src="@drawable/portal_ring_inner_holo"/>
+    <com.android.launcher2.BubbleTextView
+        android:id="@+id/folder_name"
+        style="@style/WorkspaceIcon.Portrait"/>
+</com.android.launcher2.FolderIcon>
diff --git a/res/layout/user_folder.xml b/res/layout/user_folder.xml
index 5ef959d..7e25f35 100644
--- a/res/layout/user_folder.xml
+++ b/res/layout/user_folder.xml
@@ -17,16 +17,20 @@
 <com.android.launcher2.Folder
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:paddingLeft="@dimen/folder_padding"
+    android:paddingRight="@dimen/folder_padding"
+    android:paddingTop="@dimen/folder_padding"
+    android:paddingBottom="0dp"
     android:orientation="vertical"
     android:background="@drawable/portal_container_holo">
 
     <com.android.launcher2.CellLayout
-        android:id="@id/folder_content"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-
+        android:id="@+id/folder_content"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
         android:cacheColorHint="#ff333333"
-
         android:hapticFeedbackEnabled="false"
         launcher:widthGap="@dimen/workspace_width_gap"
         launcher:heightGap="@dimen/workspace_height_gap"
@@ -36,4 +40,18 @@
         launcher:xAxisEndPadding="0dip"
         launcher:yAxisStartPadding="8dip"
         launcher:yAxisEndPadding="8dip"/>
-</com.android.launcher2.Folder>
+
+    <EditText
+        android:id="@+id/folder_name"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_centerHorizontal="true"
+        android:paddingTop="@dimen/folder_content_name_gap"
+        android:paddingBottom="@dimen/folder_padding"
+        android:background="#00000000"
+        android:hint="@string/default_folder_name"
+        android:textSize="16sp"
+        android:textColor="#FFF"
+        android:gravity="center_horizontal"
+        android:singleLine="true"/>
+</com.android.launcher2.Folder>
\ No newline at end of file
diff --git a/res/values-large/dimens.xml b/res/values-large/dimens.xml
index 924832a..eb48859 100644
--- a/res/values-large/dimens.xml
+++ b/res/values-large/dimens.xml
@@ -106,9 +106,16 @@
     <!-- Max number of rows in all apps, because too many looks weird. -->
     <integer name="all_apps_view_maxCellCountY">6</integer>
 
+<!-- Workspace grid -->
     <!-- Padding applied to AppWidgets -->
     <dimen name="app_widget_padding_left">12dp</dimen>
     <dimen name="app_widget_padding_right">12dp</dimen>
     <dimen name="app_widget_padding_top">4dp</dimen>
     <dimen name="app_widget_padding_bottom">20dp</dimen>
+
+<!-- Folders -->
+    <!-- The size of the image which sits behind the preview of the folder contents -->
+    <dimen name="folder_preview_size">80dp</dimen>
+    <!-- The amount that the preview contents are inset from the preview background -->
+    <dimen name="folder_preview_padding">4dp</dimen>
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 15dbc3a..141df06 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -83,9 +83,18 @@
     <dimen name="workspace_width_gap">-1dp</dimen>
     <dimen name="workspace_height_gap">-1dp</dimen>
 
+<!-- Workspace grid -->
     <!-- Padding applied to AppWidgets -->
     <dimen name="app_widget_padding_left">0dp</dimen>
     <dimen name="app_widget_padding_right">0dp</dimen>
     <dimen name="app_widget_padding_top">0dp</dimen>
     <dimen name="app_widget_padding_bottom">0dp</dimen>
+
+<!-- Folders -->
+    <!-- The size of the image which sits behind the preview of the folder contents -->
+    <dimen name="folder_preview_size">56dp</dimen>
+    <!-- The amount that the preview contents are inset from the preview background -->
+    <dimen name="folder_preview_padding">4dp</dimen>
+    <dimen name="folder_padding">18dp</dimen>
+    <dimen name="folder_content_name_gap">10dp</dimen>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 0ad1a46..70f212c 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -254,9 +254,12 @@
     <string name="default_browser_url" translatable="false">
         http://www.google.com/m?client=ms-{CID}&amp;source=android-home-hotseat</string>
 
-    <!--  Text to inform the user that they can't uninstall a system application -->
+    <!-- Text to inform the user that they can't uninstall a system application -->
     <string name="uninstall_system_app_text">This is a system application and cannot be uninstalled.</string>
 
     <!-- Title of the Android Dreams (screensaver) module -->
     <string name="dream_name">Rocket Launcher</string>
+
+    <!-- Default folder title -->
+    <string name="default_folder_name">Unnamed Folder</string>
 </resources>