summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/WidgetChooser.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher2/WidgetChooser.java')
-rw-r--r--src/com/android/launcher2/WidgetChooser.java44
1 files changed, 19 insertions, 25 deletions
diff --git a/src/com/android/launcher2/WidgetChooser.java b/src/com/android/launcher2/WidgetChooser.java
index 101b671df..ea6888e14 100644
--- a/src/com/android/launcher2/WidgetChooser.java
+++ b/src/com/android/launcher2/WidgetChooser.java
@@ -2,13 +2,13 @@ package com.android.launcher2;
import android.appwidget.AppWidgetProviderInfo;
import android.content.Context;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.res.Resources;
import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.AdapterView;
+import android.widget.TextView;
public class WidgetChooser extends HomeCustomizationItemGallery implements DragSource {
private DragController mDragController;
@@ -22,29 +22,23 @@ public class WidgetChooser extends HomeCustomizationItemGallery implements DragS
}
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
+ Drawable[] drawables = ((TextView)view).getCompoundDrawables();
+ Bitmap bmp = ((BitmapDrawable)drawables[1]).getBitmap();
+ final int w = bmp.getWidth();
+ final int h = bmp.getHeight();
+
+ // We don't really have an accurate location to use. This will do.
+ int screenX = mMotionDownRawX - (w / 2);
+ int screenY = mMotionDownRawY - h;
+
AppWidgetProviderInfo info = (AppWidgetProviderInfo)getAdapter().getItem(position);
- try {
- Resources r = mContext.getPackageManager().getResourcesForApplication(info.provider.getPackageName());
-
- Bitmap bmp = BitmapFactory.decodeResource(r, info.icon);
- final int w = bmp.getWidth();
- final int h = bmp.getHeight();
-
- // We don't really have an accurate location to use. This will do.
- int screenX = mMotionDownRawX - (w / 2);
- int screenY = mMotionDownRawY - h;
-
- AppWidgetProviderInfo appWidgetInfo = (AppWidgetProviderInfo)view.getTag();
- LauncherAppWidgetInfo dragInfo = new LauncherAppWidgetInfo(info.provider);
- // TODO: Is this really the best place to do this?
- dragInfo.minWidth = appWidgetInfo.minWidth;
- dragInfo.minHeight = appWidgetInfo.minHeight;
- mDragController.startDrag(bmp, screenX, screenY,
- 0, 0, w, h, this, dragInfo, DragController.DRAG_ACTION_COPY);
- return true;
- } catch (NameNotFoundException e) {
- return false;
- }
+ LauncherAppWidgetInfo dragInfo = new LauncherAppWidgetInfo(info.provider);
+ // TODO: Is this really the best place to do this?
+ dragInfo.minWidth = info.minWidth;
+ dragInfo.minHeight = info.minHeight;
+ mDragController.startDrag(bmp, screenX, screenY,
+ 0, 0, w, h, this, dragInfo, DragController.DRAG_ACTION_COPY);
+ return true;
}
public void onDropCompleted(View target, boolean success) {