Fixing crash when you are dragging an app and the packages change under you. (Bug: 5280181)
- Removing unused dimension for app icon content size Change-Id: If3910010577e902937d284296479f9a699516de3
This commit is contained in:
@@ -41,8 +41,6 @@
|
||||
|
||||
<!-- Size of icons in workspace -->
|
||||
<dimen name="app_icon_size">72dp</dimen>
|
||||
<!-- Size of content of icons in workspace, as specified by the android icon guidelines -->
|
||||
<dimen name="app_icon_content_size">60dp</dimen>
|
||||
|
||||
<!-- extra horizontal spacing between mini screen thumbnails ie. in all
|
||||
apps and in customization mode -->
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.launcher2;
|
||||
|
||||
import android.appwidget.AppWidgetManager;
|
||||
import android.appwidget.AppWidgetProviderInfo;
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Rect;
|
||||
@@ -367,6 +369,21 @@ public class DragController {
|
||||
}
|
||||
endDrag();
|
||||
}
|
||||
public void onAppsRemoved(ArrayList<ApplicationInfo> apps, Context context) {
|
||||
// Cancel the current drag if we are removing an app that we are dragging
|
||||
if (mDragObject != null) {
|
||||
Object rawDragInfo = mDragObject.dragInfo;
|
||||
if (rawDragInfo instanceof ShortcutInfo) {
|
||||
ShortcutInfo dragInfo = (ShortcutInfo) rawDragInfo;
|
||||
for (ApplicationInfo info : apps) {
|
||||
if (dragInfo.intent.getComponent().equals(info.intent.getComponent())) {
|
||||
cancelDrag();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void endDrag() {
|
||||
if (mDragging) {
|
||||
|
||||
@@ -3030,13 +3030,15 @@ public final class Launcher extends Activity
|
||||
mAppsCustomizeContent.removeApps(apps);
|
||||
}
|
||||
updateIconsAffectedByPackageManagerChanges();
|
||||
|
||||
// Notify the drag controller
|
||||
mDragController.onAppsRemoved(apps, this);
|
||||
}
|
||||
|
||||
/**
|
||||
* A number of packages were updated.
|
||||
*/
|
||||
public void bindPackagesUpdated() {
|
||||
|
||||
if (mAppsCustomizeContent != null) {
|
||||
mAppsCustomizeContent.onPackagesUpdated();
|
||||
}
|
||||
|
||||
@@ -47,7 +47,6 @@ final class Utilities {
|
||||
|
||||
private static int sIconWidth = -1;
|
||||
private static int sIconHeight = -1;
|
||||
private static int sIconContentSize = -1;
|
||||
private static int sIconTextureWidth = -1;
|
||||
private static int sIconTextureHeight = -1;
|
||||
|
||||
@@ -65,10 +64,6 @@ final class Utilities {
|
||||
static int sColors[] = { 0xffff0000, 0xff00ff00, 0xff0000ff };
|
||||
static int sColorIndex = 0;
|
||||
|
||||
static int getIconContentSize() {
|
||||
return sIconContentSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a bitmap suitable for the all apps view. Used to convert pre-ICS
|
||||
* icon bitmaps that are stored in the database (which were 74x74 pixels at hdpi size)
|
||||
@@ -242,9 +237,6 @@ final class Utilities {
|
||||
final float density = metrics.density;
|
||||
|
||||
sIconWidth = sIconHeight = (int) resources.getDimension(R.dimen.app_icon_size);
|
||||
if (LauncherApplication.isScreenLarge()) {
|
||||
sIconContentSize = (int) resources.getDimension(R.dimen.app_icon_content_size);
|
||||
}
|
||||
sIconTextureWidth = sIconTextureHeight = sIconWidth;
|
||||
|
||||
sBlurPaint.setMaskFilter(new BlurMaskFilter(5 * density, BlurMaskFilter.Blur.NORMAL));
|
||||
|
||||
Reference in New Issue
Block a user