summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values-land/dimens.xml3
-rw-r--r--res/values/dimens.xml2
-rw-r--r--src/com/android/launcher3/DeviceProfile.java9
-rw-r--r--src/com/android/launcher3/folder/PreviewBackground.java11
-rw-r--r--src/com/android/launcher3/graphics/IconNormalizer.java8
5 files changed, 16 insertions, 17 deletions
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index 6cf23ad10..7b5252949 100644
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -31,9 +31,6 @@
<dimen name="dynamic_grid_cell_layout_padding">0dp</dimen>
<dimen name="dynamic_grid_cell_layout_bottom_padding">5.5dp</dimen>
- <!-- Folders -->
- <dimen name="folder_preview_padding">2dp</dimen>
-
<!-- Hotseat -->
<!-- Will be set to equal the hotseat icon size. -->
<dimen name="dynamic_grid_hotseat_size">0dp</dimen>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index f8f9c2ae9..a2f728679 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -137,8 +137,6 @@
<dimen name="spring_loaded_panel_border">1dp</dimen>
<!-- Folders -->
- <!-- The size of the padding on the preview background drawable -->
- <dimen name="folder_preview_padding">10dp</dimen>
<dimen name="page_indicator_dot_size">8dp</dimen>
<dimen name="folder_cell_x_padding">9dp</dimen>
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index 14d8b93da..6f3575260 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -28,6 +28,7 @@ import android.util.DisplayMetrics;
import com.android.launcher3.CellLayout.ContainerType;
import com.android.launcher3.badge.BadgeRenderer;
+import com.android.launcher3.graphics.IconNormalizer;
public class DeviceProfile {
@@ -81,9 +82,8 @@ public class DeviceProfile {
public int workspaceCellPaddingXPx;
// Folder
- public int folderBackgroundOffset;
public int folderIconSizePx;
- public int folderIconPreviewPadding;
+ public int folderIconOffsetYPx;
// Folder cell
public int folderCellWidthPx;
@@ -340,9 +340,8 @@ public class DeviceProfile {
}
// Folder icon
- folderBackgroundOffset = -iconDrawablePaddingPx;
- folderIconSizePx = iconSizePx + 2 * -folderBackgroundOffset;
- folderIconPreviewPadding = res.getDimensionPixelSize(R.dimen.folder_preview_padding);
+ folderIconSizePx = IconNormalizer.getNormalizedCircleSize(iconSizePx);
+ folderIconOffsetYPx = (iconSizePx - folderIconSizePx) / 2;
}
private void updateAvailableFolderCellDimensions(DisplayMetrics dm, Resources res) {
diff --git a/src/com/android/launcher3/folder/PreviewBackground.java b/src/com/android/launcher3/folder/PreviewBackground.java
index a0912a4a0..069ec4ba1 100644
--- a/src/com/android/launcher3/folder/PreviewBackground.java
+++ b/src/com/android/launcher3/folder/PreviewBackground.java
@@ -129,18 +129,15 @@ public class PreviewBackground {
};
public void setup(Launcher launcher, View invalidateDelegate,
- int availableSpace, int topPadding) {
+ int availableSpaceX, int topPadding) {
mInvalidateDelegate = invalidateDelegate;
mBgColor = Themes.getAttrColor(launcher, android.R.attr.colorPrimary);
DeviceProfile grid = launcher.getDeviceProfile();
- final int previewSize = grid.folderIconSizePx;
- final int previewPadding = grid.folderIconPreviewPadding;
+ previewSize = grid.folderIconSizePx;
- this.previewSize = (previewSize - 2 * previewPadding);
-
- basePreviewOffsetX = (availableSpace - this.previewSize) / 2;
- basePreviewOffsetY = previewPadding + grid.folderBackgroundOffset + topPadding;
+ basePreviewOffsetX = (availableSpaceX - previewSize) / 2;
+ basePreviewOffsetY = topPadding + grid.folderIconOffsetYPx;
// Stroke width is 1dp
mStrokeWidth = launcher.getResources().getDisplayMetrics().density;
diff --git a/src/com/android/launcher3/graphics/IconNormalizer.java b/src/com/android/launcher3/graphics/IconNormalizer.java
index 5d99ba09f..680c02022 100644
--- a/src/com/android/launcher3/graphics/IconNormalizer.java
+++ b/src/com/android/launcher3/graphics/IconNormalizer.java
@@ -376,4 +376,12 @@ public class IconNormalizer {
last = i;
}
}
+
+ /**
+ * @return The diameter of the normalized circle that fits inside of the square (size x size).
+ */
+ public static int getNormalizedCircleSize(int size) {
+ float area = size * size * MAX_CIRCLE_AREA_FACTOR;
+ return (int) Math.round(Math.sqrt((4 * area) / Math.PI));
+ }
}