summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Ng <petergng@google.com>2011-10-25 15:40:08 -0700
committerMichael Jurka <mikejurka@google.com>2011-10-27 11:26:04 -0700
commit8db7000140d3c35be92a4e07cf54ea6ec4ae3030 (patch)
tree3ae041f0f1d38e9f33d829d2240598d73299ca9b
parentfaa702dca81afa700dddaa01b2a73774085db515 (diff)
downloadandroid_packages_apps_Trebuchet-8db7000140d3c35be92a4e07cf54ea6ec4ae3030.tar.gz
android_packages_apps_Trebuchet-8db7000140d3c35be92a4e07cf54ea6ec4ae3030.tar.bz2
android_packages_apps_Trebuchet-8db7000140d3c35be92a4e07cf54ea6ec4ae3030.zip
Asset updates
- Change how default widget previews look (5509429) - Improve antialiasing in portal assets Change-Id: I9993aec46a9a9ab8a732b4fc150120c935523f02
-rw-r--r--res/drawable-hdpi/default_widget_preview_holo.9.pngbin340 -> 328 bytes
-rw-r--r--res/drawable-hdpi/portal_container_holo.9.pngbin1289 -> 1407 bytes
-rw-r--r--res/drawable-hdpi/portal_ring_inner_holo.pngbin10831 -> 9284 bytes
-rw-r--r--res/drawable-hdpi/portal_ring_inner_nolip_holo.pngbin0 -> 2924 bytes
-rw-r--r--res/drawable-hdpi/portal_ring_outer_holo.pngbin7569 -> 6676 bytes
-rw-r--r--res/drawable-hdpi/portal_ring_rest.pngbin2450 -> 2392 bytes
-rw-r--r--res/drawable-hdpi/widget_info_bg.9.pngbin115 -> 0 bytes
-rw-r--r--res/drawable-mdpi/default_widget_preview_holo.9.pngbin279 -> 328 bytes
-rw-r--r--res/drawable-mdpi/portal_container_holo.9.pngbin809 -> 864 bytes
-rw-r--r--res/drawable-mdpi/portal_ring_inner_holo.pngbin6237 -> 4991 bytes
-rw-r--r--res/drawable-mdpi/portal_ring_inner_nolip_holo.pngbin0 -> 1772 bytes
-rw-r--r--res/drawable-mdpi/portal_ring_outer_holo.pngbin4680 -> 4035 bytes
-rw-r--r--res/drawable-mdpi/portal_ring_rest.pngbin1490 -> 1563 bytes
-rw-r--r--res/drawable-mdpi/widget_info_bg.9.pngbin116 -> 0 bytes
-rw-r--r--res/drawable-xhdpi/default_widget_preview_holo.9.pngbin429 -> 439 bytes
-rw-r--r--res/drawable-xhdpi/portal_container_holo.9.pngbin2022 -> 2019 bytes
-rw-r--r--res/drawable-xhdpi/portal_ring_inner_holo.pngbin15222 -> 14349 bytes
-rw-r--r--res/drawable-xhdpi/portal_ring_inner_nolip_holo.pngbin0 -> 4283 bytes
-rw-r--r--res/drawable-xhdpi/portal_ring_outer_holo.pngbin11019 -> 10068 bytes
-rw-r--r--res/drawable-xhdpi/portal_ring_rest.pngbin3688 -> 3323 bytes
-rw-r--r--res/drawable-xhdpi/widget_info_bg.9.pngbin185 -> 0 bytes
-rw-r--r--res/drawable-xlarge-hdpi/portal_ring_inner_holo.pngbin11299 -> 12123 bytes
-rw-r--r--res/drawable-xlarge-hdpi/portal_ring_inner_nolip_holo.pngbin0 -> 3967 bytes
-rw-r--r--res/drawable-xlarge-hdpi/portal_ring_outer_holo.pngbin6154 -> 4565 bytes
-rw-r--r--res/drawable-xlarge-mdpi/portal_ring_inner_holo.pngbin6127 -> 6424 bytes
-rw-r--r--res/drawable-xlarge-mdpi/portal_ring_inner_nolip_holo.pngbin0 -> 2308 bytes
-rw-r--r--res/drawable-xlarge-mdpi/portal_ring_outer_holo.pngbin3600 -> 2823 bytes
-rw-r--r--res/drawable-xlarge-xhdpi/portal_ring_inner_holo.pngbin17976 -> 18653 bytes
-rw-r--r--res/drawable-xlarge-xhdpi/portal_ring_inner_nolip_holo.pngbin0 -> 5874 bytes
-rw-r--r--res/drawable-xlarge-xhdpi/portal_ring_outer_holo.pngbin9754 -> 6545 bytes
-rw-r--r--res/layout-sw720dp/apps_customize_widget.xml5
-rw-r--r--res/layout/apps_customize_widget.xml3
-rw-r--r--src/com/android/launcher2/AppsCustomizePagedView.java42
-rw-r--r--src/com/android/launcher2/HolographicOutlineHelper.java16
-rw-r--r--src/com/android/launcher2/PendingAddItemInfo.java2
-rw-r--r--src/com/android/launcher2/Workspace.java13
36 files changed, 60 insertions, 21 deletions
diff --git a/res/drawable-hdpi/default_widget_preview_holo.9.png b/res/drawable-hdpi/default_widget_preview_holo.9.png
index 6745e4945..0b4a6343f 100644
--- a/res/drawable-hdpi/default_widget_preview_holo.9.png
+++ b/res/drawable-hdpi/default_widget_preview_holo.9.png
Binary files differ
diff --git a/res/drawable-hdpi/portal_container_holo.9.png b/res/drawable-hdpi/portal_container_holo.9.png
index c4976124c..557ee5a98 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 477e56977..e95322156 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_inner_nolip_holo.png b/res/drawable-hdpi/portal_ring_inner_nolip_holo.png
new file mode 100644
index 000000000..257fc691b
--- /dev/null
+++ b/res/drawable-hdpi/portal_ring_inner_nolip_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 2b635cb1b..2bf0c0d18 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-hdpi/portal_ring_rest.png b/res/drawable-hdpi/portal_ring_rest.png
index b9ef77829..93e3f6be3 100644
--- a/res/drawable-hdpi/portal_ring_rest.png
+++ b/res/drawable-hdpi/portal_ring_rest.png
Binary files differ
diff --git a/res/drawable-hdpi/widget_info_bg.9.png b/res/drawable-hdpi/widget_info_bg.9.png
deleted file mode 100644
index df4cea9dc..000000000
--- a/res/drawable-hdpi/widget_info_bg.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/default_widget_preview_holo.9.png b/res/drawable-mdpi/default_widget_preview_holo.9.png
index f9a97263a..0bfdaef58 100644
--- a/res/drawable-mdpi/default_widget_preview_holo.9.png
+++ b/res/drawable-mdpi/default_widget_preview_holo.9.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 30b0fa0fa..9a4751730 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 eccea20c4..3d704af65 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_inner_nolip_holo.png b/res/drawable-mdpi/portal_ring_inner_nolip_holo.png
new file mode 100644
index 000000000..1dbdbe841
--- /dev/null
+++ b/res/drawable-mdpi/portal_ring_inner_nolip_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 c5142171d..3a7303ec5 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/drawable-mdpi/portal_ring_rest.png b/res/drawable-mdpi/portal_ring_rest.png
index 3ab8b368f..259e48c0c 100644
--- a/res/drawable-mdpi/portal_ring_rest.png
+++ b/res/drawable-mdpi/portal_ring_rest.png
Binary files differ
diff --git a/res/drawable-mdpi/widget_info_bg.9.png b/res/drawable-mdpi/widget_info_bg.9.png
deleted file mode 100644
index c8c62b58f..000000000
--- a/res/drawable-mdpi/widget_info_bg.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/default_widget_preview_holo.9.png b/res/drawable-xhdpi/default_widget_preview_holo.9.png
index 87cc9753b..42d57d843 100644
--- a/res/drawable-xhdpi/default_widget_preview_holo.9.png
+++ b/res/drawable-xhdpi/default_widget_preview_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/portal_container_holo.9.png b/res/drawable-xhdpi/portal_container_holo.9.png
index 0935a4b75..4ae8d223b 100644
--- a/res/drawable-xhdpi/portal_container_holo.9.png
+++ b/res/drawable-xhdpi/portal_container_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/portal_ring_inner_holo.png b/res/drawable-xhdpi/portal_ring_inner_holo.png
index bc34314ed..b9867c0d9 100644
--- a/res/drawable-xhdpi/portal_ring_inner_holo.png
+++ b/res/drawable-xhdpi/portal_ring_inner_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/portal_ring_inner_nolip_holo.png b/res/drawable-xhdpi/portal_ring_inner_nolip_holo.png
new file mode 100644
index 000000000..e218713e4
--- /dev/null
+++ b/res/drawable-xhdpi/portal_ring_inner_nolip_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/portal_ring_outer_holo.png b/res/drawable-xhdpi/portal_ring_outer_holo.png
index a7b5b6013..286bee039 100644
--- a/res/drawable-xhdpi/portal_ring_outer_holo.png
+++ b/res/drawable-xhdpi/portal_ring_outer_holo.png
Binary files differ
diff --git a/res/drawable-xhdpi/portal_ring_rest.png b/res/drawable-xhdpi/portal_ring_rest.png
index ba0a652e7..ab5c2c479 100644
--- a/res/drawable-xhdpi/portal_ring_rest.png
+++ b/res/drawable-xhdpi/portal_ring_rest.png
Binary files differ
diff --git a/res/drawable-xhdpi/widget_info_bg.9.png b/res/drawable-xhdpi/widget_info_bg.9.png
deleted file mode 100644
index 19eff0589..000000000
--- a/res/drawable-xhdpi/widget_info_bg.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xlarge-hdpi/portal_ring_inner_holo.png b/res/drawable-xlarge-hdpi/portal_ring_inner_holo.png
index 659c23ba9..b3be4720a 100644
--- a/res/drawable-xlarge-hdpi/portal_ring_inner_holo.png
+++ b/res/drawable-xlarge-hdpi/portal_ring_inner_holo.png
Binary files differ
diff --git a/res/drawable-xlarge-hdpi/portal_ring_inner_nolip_holo.png b/res/drawable-xlarge-hdpi/portal_ring_inner_nolip_holo.png
new file mode 100644
index 000000000..96b981c50
--- /dev/null
+++ b/res/drawable-xlarge-hdpi/portal_ring_inner_nolip_holo.png
Binary files differ
diff --git a/res/drawable-xlarge-hdpi/portal_ring_outer_holo.png b/res/drawable-xlarge-hdpi/portal_ring_outer_holo.png
index 8ec67df5a..bc13a26cd 100644
--- a/res/drawable-xlarge-hdpi/portal_ring_outer_holo.png
+++ b/res/drawable-xlarge-hdpi/portal_ring_outer_holo.png
Binary files differ
diff --git a/res/drawable-xlarge-mdpi/portal_ring_inner_holo.png b/res/drawable-xlarge-mdpi/portal_ring_inner_holo.png
index 8e3dd576a..319c07427 100644
--- a/res/drawable-xlarge-mdpi/portal_ring_inner_holo.png
+++ b/res/drawable-xlarge-mdpi/portal_ring_inner_holo.png
Binary files differ
diff --git a/res/drawable-xlarge-mdpi/portal_ring_inner_nolip_holo.png b/res/drawable-xlarge-mdpi/portal_ring_inner_nolip_holo.png
new file mode 100644
index 000000000..8537714aa
--- /dev/null
+++ b/res/drawable-xlarge-mdpi/portal_ring_inner_nolip_holo.png
Binary files differ
diff --git a/res/drawable-xlarge-mdpi/portal_ring_outer_holo.png b/res/drawable-xlarge-mdpi/portal_ring_outer_holo.png
index 94e067775..365dcfce9 100644
--- a/res/drawable-xlarge-mdpi/portal_ring_outer_holo.png
+++ b/res/drawable-xlarge-mdpi/portal_ring_outer_holo.png
Binary files differ
diff --git a/res/drawable-xlarge-xhdpi/portal_ring_inner_holo.png b/res/drawable-xlarge-xhdpi/portal_ring_inner_holo.png
index a013e5a60..d4ce45f12 100644
--- a/res/drawable-xlarge-xhdpi/portal_ring_inner_holo.png
+++ b/res/drawable-xlarge-xhdpi/portal_ring_inner_holo.png
Binary files differ
diff --git a/res/drawable-xlarge-xhdpi/portal_ring_inner_nolip_holo.png b/res/drawable-xlarge-xhdpi/portal_ring_inner_nolip_holo.png
new file mode 100644
index 000000000..9aa13c987
--- /dev/null
+++ b/res/drawable-xlarge-xhdpi/portal_ring_inner_nolip_holo.png
Binary files differ
diff --git a/res/drawable-xlarge-xhdpi/portal_ring_outer_holo.png b/res/drawable-xlarge-xhdpi/portal_ring_outer_holo.png
index 7bdaaf39b..0106cd6e0 100644
--- a/res/drawable-xlarge-xhdpi/portal_ring_outer_holo.png
+++ b/res/drawable-xlarge-xhdpi/portal_ring_outer_holo.png
Binary files differ
diff --git a/res/layout-sw720dp/apps_customize_widget.xml b/res/layout-sw720dp/apps_customize_widget.xml
index 31c3fbe58..e707ef774 100644
--- a/res/layout-sw720dp/apps_customize_widget.xml
+++ b/res/layout-sw720dp/apps_customize_widget.xml
@@ -32,8 +32,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
- android:orientation="vertical"
- android:background="@drawable/widget_info_bg">
+ android:orientation="vertical">
<!-- The name of the widget. -->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget_name"
@@ -54,7 +53,7 @@
<!-- The original dimensions of the widget (can't be the same text as above due to different
style. -->
- <TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ <TextView
android:id="@+id/widget_dims"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
diff --git a/res/layout/apps_customize_widget.xml b/res/layout/apps_customize_widget.xml
index 7cc4177de..2c11c1db9 100644
--- a/res/layout/apps_customize_widget.xml
+++ b/res/layout/apps_customize_widget.xml
@@ -32,8 +32,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
- android:orientation="horizontal"
- android:background="@drawable/widget_info_bg">
+ android:orientation="horizontal">
<!-- The name of the widget. -->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget_name"
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index f5142bfa6..dab73a656 100644
--- a/src/com/android/launcher2/AppsCustomizePagedView.java
+++ b/src/com/android/launcher2/AppsCustomizePagedView.java
@@ -32,10 +32,13 @@ import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.Canvas;
+import android.graphics.MaskFilter;
+import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Bitmap.Config;
+import android.graphics.TableMaskFilter;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Process;
@@ -552,10 +555,20 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
createItemInfo.spanX = createItemInfo.spanY = 1;
}
+ // We use a custom alpha clip table for the default widget previews
+ Paint alphaClipPaint = null;
+ if (createItemInfo instanceof PendingAddWidgetInfo) {
+ if (((PendingAddWidgetInfo) createItemInfo).hasDefaultPreview) {
+ MaskFilter alphaClipTable = TableMaskFilter.CreateClipTable(0, 255);
+ alphaClipPaint = new Paint();
+ alphaClipPaint.setMaskFilter(alphaClipTable);
+ }
+ }
+
// Start the drag
mLauncher.lockScreenOrientationOnLargeUI();
mLauncher.getWorkspace().onDragStartedWithItemSpans(createItemInfo.spanX,
- createItemInfo.spanY, b);
+ createItemInfo.spanY, b, alphaClipPaint);
mDragController.startDrag(image, b, this, createItemInfo,
DragController.DRAG_ACTION_COPY, null);
b.recycle();
@@ -914,10 +927,9 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
}
private Bitmap getShortcutPreview(ResolveInfo info, int cellWidth, int cellHeight) {
// Render the background
- int offset = (int) (mAppIconSize * sWidgetPreviewIconPaddingPercentage);
- int bitmapSize = mAppIconSize + 2 * offset;
+ int offset = 0;
+ int bitmapSize = mAppIconSize;
Bitmap preview = Bitmap.createBitmap(bitmapSize, bitmapSize, Config.ARGB_8888);
- renderDrawableToBitmap(mDefaultWidgetBackground, preview, 0, 0, bitmapSize, bitmapSize);
// Render the icon
Drawable icon = mIconCache.getFullResIcon(info, mPackageManager);
@@ -964,41 +976,45 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
int targetHeight = mWidgetSpacingLayout.estimateCellHeight(cellVSpan);
int bitmapWidth = targetWidth;
int bitmapHeight = targetHeight;
- int offset = (int) (mAppIconSize * sWidgetPreviewIconPaddingPercentage);
+ int minOffset = (int) (mAppIconSize * sWidgetPreviewIconPaddingPercentage);
float iconScale = 1f;
// Determine the size of the bitmap we want to draw
if (cellHSpan == cellVSpan) {
// For square widgets, we just have a fixed size for 1x1 and larger-than-1x1
if (cellHSpan <= 1) {
- bitmapWidth = bitmapHeight = mAppIconSize + 2 * offset;
+ bitmapWidth = bitmapHeight = mAppIconSize + 2 * minOffset;
} else {
- bitmapWidth = bitmapHeight = mAppIconSize + 4 * offset;
+ bitmapWidth = bitmapHeight = mAppIconSize + 4 * minOffset;
}
} else {
// Otherwise, ensure that we are properly sized within the cellWidth/Height
if (targetWidth > targetHeight) {
bitmapWidth = Math.min(targetWidth, cellWidth);
bitmapHeight = (int) (targetHeight * ((float) bitmapWidth / targetWidth));
- iconScale = Math.min((float) bitmapHeight / (mAppIconSize + 2 * offset), 1f);
+ iconScale = Math.min((float) bitmapHeight / (mAppIconSize + 2 * minOffset), 1f);
} else {
bitmapHeight = Math.min(targetHeight, cellHeight);
bitmapWidth = (int) (targetWidth * ((float) bitmapHeight / targetHeight));
- iconScale = Math.min((float) bitmapWidth / (mAppIconSize + 2 * offset), 1f);
+ iconScale = Math.min((float) bitmapWidth / (mAppIconSize + 2 * minOffset), 1f);
}
}
preview = Bitmap.createBitmap(bitmapWidth, bitmapHeight, Config.ARGB_8888);
- renderDrawableToBitmap(mDefaultWidgetBackground, preview, 0, 0, bitmapWidth,
- bitmapWidth);
+ if (cellHSpan != 1 || cellVSpan != 1) {
+ renderDrawableToBitmap(mDefaultWidgetBackground, preview, 0, 0, bitmapWidth,
+ bitmapHeight);
+ }
// Draw the icon in the top left corner
try {
Drawable icon = null;
+ int hoffset = (int) (bitmapWidth / 2 - mAppIconSize * iconScale / 2);
+ int yoffset = (int) (bitmapHeight / 2 - mAppIconSize * iconScale / 2);
if (info.icon > 0) icon = mPackageManager.getDrawable(packageName, info.icon, null);
if (icon == null) icon = resources.getDrawable(R.drawable.ic_launcher_application);
- renderDrawableToBitmap(icon, preview, (int) (offset * iconScale),
- (int) (offset * iconScale), (int) (mAppIconSize * iconScale),
+ renderDrawableToBitmap(icon, preview, hoffset, yoffset,
+ (int) (mAppIconSize * iconScale),
(int) (mAppIconSize * iconScale));
} catch (Resources.NotFoundException e) {}
}
diff --git a/src/com/android/launcher2/HolographicOutlineHelper.java b/src/com/android/launcher2/HolographicOutlineHelper.java
index 748d89e09..1faaeefda 100644
--- a/src/com/android/launcher2/HolographicOutlineHelper.java
+++ b/src/com/android/launcher2/HolographicOutlineHelper.java
@@ -122,10 +122,18 @@ public class HolographicOutlineHelper {
*/
void applyExpensiveOutlineWithBlur(Bitmap srcDst, Canvas srcDstCanvas, int color,
int outlineColor, int thickness) {
+ applyExpensiveOutlineWithBlur(srcDst, srcDstCanvas, color, outlineColor, mAlphaClipPaint,
+ thickness);
+ }
+ void applyExpensiveOutlineWithBlur(Bitmap srcDst, Canvas srcDstCanvas, int color,
+ int outlineColor, Paint alphaClipPaint, int thickness) {
// We start by removing most of the alpha channel so as to ignore shadows, and
// other types of partial transparency when defining the shape of the object
- Bitmap glowShape = srcDst.extractAlpha(mAlphaClipPaint, mTempOffset);
+ if (alphaClipPaint == null) {
+ alphaClipPaint = mAlphaClipPaint;
+ }
+ Bitmap glowShape = srcDst.extractAlpha(alphaClipPaint, mTempOffset);
// calculate the outer blur first
BlurMaskFilter outerBlurMaskFilter;
@@ -217,6 +225,12 @@ public class HolographicOutlineHelper {
}
void applyMediumExpensiveOutlineWithBlur(Bitmap srcDst, Canvas srcDstCanvas, int color,
+ int outlineColor, Paint alphaClipPaint) {
+ applyExpensiveOutlineWithBlur(srcDst, srcDstCanvas, color, outlineColor, alphaClipPaint,
+ MEDIUM);
+ }
+
+ void applyMediumExpensiveOutlineWithBlur(Bitmap srcDst, Canvas srcDstCanvas, int color,
int outlineColor) {
applyExpensiveOutlineWithBlur(srcDst, srcDstCanvas, color, outlineColor, MEDIUM);
}
diff --git a/src/com/android/launcher2/PendingAddItemInfo.java b/src/com/android/launcher2/PendingAddItemInfo.java
index 7b564e051..e243cc0cd 100644
--- a/src/com/android/launcher2/PendingAddItemInfo.java
+++ b/src/com/android/launcher2/PendingAddItemInfo.java
@@ -33,6 +33,7 @@ class PendingAddItemInfo extends ItemInfo {
class PendingAddWidgetInfo extends PendingAddItemInfo {
int minWidth;
int minHeight;
+ boolean hasDefaultPreview;
// Any configuration data that we want to pass to a configuration activity when
// starting up a widget
@@ -44,6 +45,7 @@ class PendingAddWidgetInfo extends PendingAddItemInfo {
componentName = i.provider;
minWidth = i.minWidth;
minHeight = i.minHeight;
+ hasDefaultPreview = i.previewImage <= 0;
if (dataMimeType != null && data != null) {
mimeType = dataMimeType;
configurationData = data;
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index bf8907865..0c297dd82 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -1464,6 +1464,10 @@ public class Workspace extends SmoothPagedView
}
public void onDragStartedWithItemSpans(int spanX, int spanY, Bitmap b) {
+ onDragStartedWithItemSpans(spanX, spanY, b, null);
+ }
+
+ public void onDragStartedWithItemSpans(int spanX, int spanY, Bitmap b, Paint alphaClipPaint) {
final Canvas canvas = new Canvas();
// We need to add extra padding to the bitmap to make room for the glow effect
@@ -1474,7 +1478,7 @@ public class Workspace extends SmoothPagedView
int[] size = cl.cellSpansToSize(spanX, spanY);
// The outline is used to visualize where the item will land if dropped
- mDragOutline = createDragOutline(b, canvas, bitmapPadding, size[0], size[1]);
+ mDragOutline = createDragOutline(b, canvas, bitmapPadding, size[0], size[1], alphaClipPaint);
}
// we call this method whenever a drag and drop in Launcher finishes, even if Workspace was
@@ -1817,6 +1821,10 @@ public class Workspace extends SmoothPagedView
* Responsibility for the bitmap is transferred to the caller.
*/
private Bitmap createDragOutline(Bitmap orig, Canvas canvas, int padding, int w, int h) {
+ return createDragOutline(orig, canvas, padding, w, h, null);
+ }
+ private Bitmap createDragOutline(Bitmap orig, Canvas canvas, int padding, int w, int h,
+ Paint alphaClipPaint) {
final int outlineColor = getResources().getColor(android.R.color.holo_blue_light);
final Bitmap b = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
canvas.setBitmap(b);
@@ -1834,7 +1842,8 @@ public class Workspace extends SmoothPagedView
Paint p = new Paint();
p.setFilterBitmap(true);
canvas.drawBitmap(orig, src, dst, p);
- mOutlineHelper.applyMediumExpensiveOutlineWithBlur(b, canvas, outlineColor, outlineColor);
+ mOutlineHelper.applyMediumExpensiveOutlineWithBlur(b, canvas, outlineColor, outlineColor,
+ alphaClipPaint);
canvas.setBitmap(null);
return b;