summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2012-02-22 12:03:22 -0800
committerAdam Cohen <adamcohen@google.com>2012-02-22 12:03:22 -0800
commit7a326648c54922c60c32088e173c93068a82d107 (patch)
treef9d41fe36a170f86ef1b586655e09278c4df840c /src
parent46569ae1073c29ace0137fdc5899cd8f61332865 (diff)
downloadandroid_packages_apps_Trebuchet-7a326648c54922c60c32088e173c93068a82d107.tar.gz
android_packages_apps_Trebuchet-7a326648c54922c60c32088e173c93068a82d107.tar.bz2
android_packages_apps_Trebuchet-7a326648c54922c60c32088e173c93068a82d107.zip
Fixing issue where widget preloading not being cleaned up on failed drop
-> issue 6046370 Change-Id: Iee33fc22ae0bfe012fe33efd5b358a2199fdf424
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher2/AppsCustomizePagedView.java19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index ff1118c2e..865c8947b 100644
--- a/src/com/android/launcher2/AppsCustomizePagedView.java
+++ b/src/com/android/launcher2/AppsCustomizePagedView.java
@@ -239,6 +239,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
int mWidgetCleanupState = WIDGET_NO_CLEANUP_REQUIRED;
int mWidgetLoadingId = -1;
PendingAddWidgetInfo mCreateWidgetInfo = null;
+ private boolean mDraggingWidget = false;
public AppsCustomizePagedView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -585,8 +586,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
loadWidgetInBackground(mCreateWidgetInfo);
}
- @Override
- public void cleanUpShortPress(View v) {
+ private void cleanupWidgetPreloading() {
PendingAddWidgetInfo info = mCreateWidgetInfo;
mCreateWidgetInfo = null;
if (mWidgetCleanupState >= 0 && mWidgetLoadingId != -1) {
@@ -604,10 +604,15 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
mWidgetLoadingId = -1;
}
- private void beginDraggingWidget(View v) {
- mWidgetCleanupState = WIDGET_NO_CLEANUP_REQUIRED;
- mWidgetLoadingId = -1;
+ @Override
+ public void cleanUpShortPress(View v) {
+ if (!mDraggingWidget) {
+ cleanupWidgetPreloading();
+ }
+ }
+ private void beginDraggingWidget(View v) {
+ mDraggingWidget = true;
// Get the widget preview as the drag representation
ImageView image = (ImageView) v.findViewById(R.id.widget_preview);
PendingAddItemInfo createItemInfo = (PendingAddItemInfo) v.getTag();
@@ -618,7 +623,6 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
if (createItemInfo instanceof PendingAddWidgetInfo) {
PendingAddWidgetInfo createWidgetInfo = mCreateWidgetInfo;
createItemInfo = createWidgetInfo;
- mCreateWidgetInfo = null;
int[] spanXY = mLauncher.getSpanForWidget(createWidgetInfo, null);
int[] size = mLauncher.getWorkspace().estimateItemSize(spanXY[0],
spanXY[1], createWidgetInfo, true);
@@ -729,8 +733,11 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
if (showOutOfSpaceMessage) {
mLauncher.showOutOfSpaceMessage();
}
+
d.deferDragViewCleanupPostAnimation = false;
+ cleanupWidgetPreloading();
}
+ mDraggingWidget = false;
}
@Override