summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Miranda <jonmiranda@google.com>2017-07-20 14:59:32 -0700
committerJon Miranda <jonmiranda@google.com>2017-07-20 15:08:06 -0700
commitfd8fa136f5cec15302bf48bdd60761e057f960c4 (patch)
tree5dbb28ae662b71237852b32aef9ecfb5eb356ca4
parentbdf6e7d8f8a83808276b245ea8c9d851f80625a3 (diff)
downloadandroid_packages_apps_Trebuchet-fd8fa136f5cec15302bf48bdd60761e057f960c4.tar.gz
android_packages_apps_Trebuchet-fd8fa136f5cec15302bf48bdd60761e057f960c4.tar.bz2
android_packages_apps_Trebuchet-fd8fa136f5cec15302bf48bdd60761e057f960c4.zip
Update Folders to match spec.
Bug: 63825895 Change-Id: Ia1a139f1afd944eefcd370645142227317e2bf20
-rw-r--r--res/layout/folder_application.xml7
-rw-r--r--res/values/dimens.xml7
-rw-r--r--src/com/android/launcher3/DeviceProfile.java10
-rw-r--r--src/com/android/launcher3/folder/FolderAnimationManager.java9
4 files changed, 23 insertions, 10 deletions
diff --git a/res/layout/folder_application.xml b/res/layout/folder_application.xml
index de861a0ad..9d4af0d9c 100644
--- a/res/layout/folder_application.xml
+++ b/res/layout/folder_application.xml
@@ -19,4 +19,9 @@
xmlns:launcher="http://schemas.android.com/apk/res-auto"
style="@style/BaseIcon"
android:includeFontPadding="false"
- launcher:iconDisplay="folder" />
+ 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"/>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 356de7869..0eb3982ca 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -138,10 +138,11 @@
<dimen name="folder_preview_padding">10dp</dimen>
<dimen name="page_indicator_dot_size">8dp</dimen>
- <dimen name="folder_cell_x_padding">9dp</dimen>
- <dimen name="folder_cell_y_padding">6dp</dimen>
+ <dimen name="folder_cell_x_padding">8dp</dimen>
+ <dimen name="folder_cell_y_padding">8dp</dimen>
<dimen name="folder_child_text_size">13sp</dimen>
- <dimen name="folder_label_padding_top">4dp</dimen>
+ <dimen name="folder_child_icon_drawable_padding">8dp</dimen>
+ <dimen name="folder_label_padding_top">12dp</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 2d5f8d016..38011eaa3 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -108,6 +108,7 @@ public class DeviceProfile {
public int folderChildIconSizePx;
public int folderChildTextSizePx;
public int folderChildDrawablePaddingPx;
+ public final int folderChildDrawablePaddingOriginalPx;
// Hotseat
public int hotseatCellHeightPx;
@@ -220,6 +221,9 @@ public class DeviceProfile {
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;
@@ -390,15 +394,15 @@ public class DeviceProfile {
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 = Math.max(0,
- (folderCellHeightPx - folderChildIconSizePx - textHeight) / 3);
+ folderCellHeightPx = folderChildIconSizePx + 2 * cellPaddingY + textHeight
+ + folderChildDrawablePaddingPx;
}
public void updateInsets(Rect insets) {
diff --git a/src/com/android/launcher3/folder/FolderAnimationManager.java b/src/com/android/launcher3/folder/FolderAnimationManager.java
index 69705d594..d7f5c2b64 100644
--- a/src/com/android/launcher3/folder/FolderAnimationManager.java
+++ b/src/com/android/launcher3/folder/FolderAnimationManager.java
@@ -120,6 +120,7 @@ public class FolderAnimationManager {
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();
@@ -131,7 +132,7 @@ public class FolderAnimationManager {
// Match size/scale of icons in the preview
float previewScale = rule.scaleForItem(0, itemsInPreview.size());
float previewSize = rule.getIconSize() * previewScale;
- float initialScale = previewSize / itemsInPreview.get(0).getIconSize()
+ float initialScale = previewSize / btv.getIconSize()
* scaleRelativeToDragLayer;
final float finalScale = 1f;
float scale = mIsOpening ? initialScale : finalScale;
@@ -148,10 +149,12 @@ public class FolderAnimationManager {
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())
- * initialScale);
+ final int paddingOffsetY = (int) ((mFolder.getPaddingTop() + mContent.getPaddingTop()
+ + btv.getPaddingTop()) * initialScale);
int initialX = folderIconPos.left + mPreviewBackground.getOffsetX() - paddingOffsetX
- previewItemOffsetX;