Merge "All Apps physics polish." into ub-launcher3-dorval-polish
diff --git a/res/layout/folder_application.xml b/res/layout/folder_application.xml
index 9d4af0d..de861a0 100644
--- a/res/layout/folder_application.xml
+++ b/res/layout/folder_application.xml
@@ -19,9 +19,4 @@
     xmlns:launcher="http://schemas.android.com/apk/res-auto"
     style="@style/BaseIcon"
     android:includeFontPadding="false"
-    android:paddingLeft="@dimen/folder_cell_x_padding"
-    android:paddingTop="@dimen/folder_cell_y_padding"
-    android:paddingRight="@dimen/folder_cell_x_padding"
-    android:paddingBottom="@dimen/folder_cell_y_padding"
-    launcher:centerVertically="true"
-    launcher:iconDisplay="folder"/>
+    launcher:iconDisplay="folder" />
diff --git a/res/layout/user_folder.xml b/res/layout/user_folder.xml
index 4d80aac..afa19b8 100644
--- a/res/layout/user_folder.xml
+++ b/res/layout/user_folder.xml
@@ -29,7 +29,7 @@
         android:layout_height="match_parent"
         android:paddingLeft="8dp"
         android:paddingRight="8dp"
-        android:paddingTop="6dp"
+        android:paddingTop="16dp"
         launcher:pageIndicator="@+id/folder_page_indicator" />
 
     <LinearLayout
diff --git a/res/layout/user_folder_icon_normalized.xml b/res/layout/user_folder_icon_normalized.xml
index e91f966..2e6ce94 100644
--- a/res/layout/user_folder_icon_normalized.xml
+++ b/res/layout/user_folder_icon_normalized.xml
@@ -29,7 +29,7 @@
         android:layout_height="match_parent"
         android:paddingLeft="8dp"
         android:paddingRight="8dp"
-        android:paddingTop="6dp"
+        android:paddingTop="16dp"
         launcher:pageIndicator="@+id/folder_page_indicator" />
 
     <LinearLayout
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index e12bc54..f6ca7b4 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -84,15 +84,13 @@
     <string name="title_change_settings" msgid="1376365968844349552">"Alterar definições"</string>
     <string name="auto_add_shortcuts_label" msgid="8222286205987725611">"Adicionar ícone ao ecrã principal"</string>
     <string name="auto_add_shortcuts_description" msgid="7117251166066978730">"Para novas aplicações"</string>
-    <!-- no translation found for icon_shape_override_label (2977264953998281004) -->
-    <skip />
+    <string name="icon_shape_override_label" msgid="2977264953998281004">"Alterar forma do ícone"</string>
     <string name="icon_shape_system_default" msgid="1709762974822753030">"Utilizar a predefinição do sistema"</string>
     <string name="icon_shape_square" msgid="633575066111622774">"Quadrado"</string>
     <string name="icon_shape_squircle" msgid="5658049910802669495">"Quadrado e círculo"</string>
     <string name="icon_shape_circle" msgid="6550072265930144217">"Círculo"</string>
     <string name="icon_shape_teardrop" msgid="4525869388200835463">"Lágrima"</string>
-    <!-- no translation found for icon_shape_override_progress (3461735694970239908) -->
-    <skip />
+    <string name="icon_shape_override_progress" msgid="3461735694970239908">"A aplicar alterações à forma do ícone..."</string>
     <string name="package_state_unknown" msgid="7592128424511031410">"Desconhecido"</string>
     <string name="abandoned_clean_this" msgid="7610119707847920412">"Remover"</string>
     <string name="abandoned_search" msgid="891119232568284442">"Pesquisar"</string>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 0eb3982..356de78 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -138,11 +138,10 @@
     <dimen name="folder_preview_padding">10dp</dimen>
     <dimen name="page_indicator_dot_size">8dp</dimen>
 
-    <dimen name="folder_cell_x_padding">8dp</dimen>
-    <dimen name="folder_cell_y_padding">8dp</dimen>
+    <dimen name="folder_cell_x_padding">9dp</dimen>
+    <dimen name="folder_cell_y_padding">6dp</dimen>
     <dimen name="folder_child_text_size">13sp</dimen>
-    <dimen name="folder_child_icon_drawable_padding">8dp</dimen>
-    <dimen name="folder_label_padding_top">12dp</dimen>
+    <dimen name="folder_label_padding_top">4dp</dimen>
     <dimen name="folder_label_padding_bottom">12dp</dimen>
     <dimen name="folder_label_text_size">14sp</dimen>
 
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index cb4ad55..bd23969 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -108,7 +108,6 @@
     public int folderChildIconSizePx;
     public int folderChildTextSizePx;
     public int folderChildDrawablePaddingPx;
-    public final int folderChildDrawablePaddingOriginalPx;
 
     // Hotseat
     public int hotseatCellHeightPx;
@@ -221,9 +220,6 @@
         hotseatLandRightNavBarGutterPx = res.getDimensionPixelSize(
                 R.dimen.dynamic_grid_hotseat_land_right_nav_bar_gutter_width);
 
-        folderChildDrawablePaddingOriginalPx =
-                res.getDimensionPixelSize(R.dimen.folder_child_icon_drawable_padding);
-
         // Determine sizes.
         widthPx = width;
         heightPx = height;
@@ -403,15 +399,15 @@
         folderChildIconSizePx = (int) (Utilities.pxFromDp(inv.iconSize, dm) * scale);
         folderChildTextSizePx =
                 (int) (res.getDimensionPixelSize(R.dimen.folder_child_text_size) * scale);
-        folderChildDrawablePaddingPx = (int) (folderChildDrawablePaddingOriginalPx * scale);
 
         int textHeight = Utilities.calculateTextHeight(folderChildTextSizePx);
         int cellPaddingX = (int) (res.getDimensionPixelSize(R.dimen.folder_cell_x_padding) * scale);
         int cellPaddingY = (int) (res.getDimensionPixelSize(R.dimen.folder_cell_y_padding) * scale);
 
         folderCellWidthPx = folderChildIconSizePx + 2 * cellPaddingX;
-        folderCellHeightPx = folderChildIconSizePx + 2 * cellPaddingY + textHeight
-                + folderChildDrawablePaddingPx;
+        folderCellHeightPx = folderChildIconSizePx + 2 * cellPaddingY + textHeight;
+        folderChildDrawablePaddingPx = Math.max(0,
+                (folderCellHeightPx - folderChildIconSizePx - textHeight) / 3);
     }
 
     public void updateInsets(Rect insets) {
diff --git a/src/com/android/launcher3/folder/FolderAnimationManager.java b/src/com/android/launcher3/folder/FolderAnimationManager.java
index d7f5c2b..69705d5 100644
--- a/src/com/android/launcher3/folder/FolderAnimationManager.java
+++ b/src/com/android/launcher3/folder/FolderAnimationManager.java
@@ -120,7 +120,6 @@
         final DragLayer.LayoutParams lp = (DragLayer.LayoutParams) mFolder.getLayoutParams();
         FolderIcon.PreviewLayoutRule rule = mFolderIcon.getLayoutRule();
         final List<BubbleTextView> itemsInPreview = mFolderIcon.getPreviewItems();
-        BubbleTextView btv = itemsInPreview.get(0);
 
         // Match position of the FolderIcon
         final Rect folderIconPos = new Rect();
@@ -132,7 +131,7 @@
         // Match size/scale of icons in the preview
         float previewScale = rule.scaleForItem(0, itemsInPreview.size());
         float previewSize = rule.getIconSize() * previewScale;
-        float initialScale = previewSize / btv.getIconSize()
+        float initialScale = previewSize / itemsInPreview.get(0).getIconSize()
                 * scaleRelativeToDragLayer;
         final float finalScale = 1f;
         float scale = mIsOpening ? initialScale : finalScale;
@@ -149,12 +148,10 @@
             previewItemOffsetX = (int) (lp.width * initialScale - initialSize - previewItemOffsetX);
         }
 
-        // Note that we do not include btv.getPaddingLeft() in the calculation, since it is
-        // handled in addPreviewItemAnimators as part of iconOffsetX.
         final int paddingOffsetX = (int) ((mFolder.getPaddingLeft() + mContent.getPaddingLeft())
                 * initialScale);
-        final int paddingOffsetY = (int) ((mFolder.getPaddingTop() + mContent.getPaddingTop()
-                + btv.getPaddingTop()) * initialScale);
+        final int paddingOffsetY = (int) ((mFolder.getPaddingTop() + mContent.getPaddingTop())
+                * initialScale);
 
         int initialX = folderIconPos.left + mPreviewBackground.getOffsetX() - paddingOffsetX
                 - previewItemOffsetX;