Adding debugging for stuck widget (issue 6557954)
Change-Id: I73217d6a5dd650278f93ae02672c92c823e08ded
This commit is contained in:
@@ -648,6 +648,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
}
|
||||
|
||||
private void preloadWidget(final PendingAddWidgetInfo info) {
|
||||
Log.d(TAG, "6557954 Preload widget: " + info.info);
|
||||
final AppWidgetProviderInfo pInfo = info.info;
|
||||
if (pInfo.configure != null) {
|
||||
return;
|
||||
@@ -656,6 +657,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
mBindWidgetRunnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Log.d(TAG, " 6557954 Preload, bind widget: " + info.info);
|
||||
mWidgetLoadingId = mLauncher.getAppWidgetHost().allocateAppWidgetId();
|
||||
if (AppWidgetManager.getInstance(mLauncher)
|
||||
.bindAppWidgetIdIfAllowed(mWidgetLoadingId, info.componentName)) {
|
||||
@@ -671,6 +673,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
AppWidgetHostView hostView = mLauncher.
|
||||
getAppWidgetHost().createView(getContext(), mWidgetLoadingId, pInfo);
|
||||
info.boundWidget = hostView;
|
||||
Log.d(TAG, " 6557954 Preload, inflate widget: " + info.info);
|
||||
mWidgetCleanupState = WIDGET_INFLATED;
|
||||
hostView.setVisibility(INVISIBLE);
|
||||
int[] unScaledSize = mLauncher.getWorkspace().estimateItemSize(info.spanX,
|
||||
@@ -695,13 +698,20 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
// the widget. This will need to be cleaned up if it turns out no long press occurs.
|
||||
if (mCreateWidgetInfo != null) {
|
||||
// Just in case the cleanup process wasn't properly executed. This shouldn't happen.
|
||||
Log.d(TAG, "**** 6557954 Previous shortpress not cleaned up, cleaning up now: " + mCreateWidgetInfo.info);
|
||||
cleanupWidgetPreloading(false);
|
||||
}
|
||||
mCreateWidgetInfo = new PendingAddWidgetInfo((PendingAddWidgetInfo) v.getTag());
|
||||
Log.d(TAG, "6557954 Short press triggered for view: " + v + ", widget info: " + mCreateWidgetInfo.info);
|
||||
preloadWidget(mCreateWidgetInfo);
|
||||
}
|
||||
|
||||
private void cleanupWidgetPreloading(boolean widgetWasAdded) {
|
||||
Log.d(TAG, "6557954 Cleaning up widget, was added: " + widgetWasAdded);
|
||||
if (mCreateWidgetInfo != null) {
|
||||
Log.d(TAG, " 6557954 Cleaning up widget, widget info: " + mCreateWidgetInfo.info);
|
||||
}
|
||||
|
||||
if (!widgetWasAdded) {
|
||||
// If the widget was not added, we may need to do further cleanup.
|
||||
PendingAddWidgetInfo info = mCreateWidgetInfo;
|
||||
@@ -709,13 +719,16 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
// First step was to allocate a widget id, revert that.
|
||||
if ((mWidgetCleanupState == WIDGET_BOUND || mWidgetCleanupState == WIDGET_INFLATED) &&
|
||||
mWidgetLoadingId != -1) {
|
||||
Log.d(TAG, " 6557954 Cleaning up widget, delete widget id");
|
||||
mLauncher.getAppWidgetHost().deleteAppWidgetId(mWidgetLoadingId);
|
||||
}
|
||||
if (mWidgetCleanupState == WIDGET_BOUND) {
|
||||
// We never actually inflated the widget, so remove the callback to do so.
|
||||
Log.d(TAG, " 6557954 Cleaning up widget, remove callbacks");
|
||||
removeCallbacks(mInflateWidgetRunnable);
|
||||
} else if (mWidgetCleanupState == WIDGET_INFLATED) {
|
||||
// The widget was inflated and added to the DragLayer -- remove it.
|
||||
Log.d(TAG, " 6557954 Cleaning up widget, remove inflated widget from draglayer");
|
||||
AppWidgetHostView widget = info.boundWidget;
|
||||
mLauncher.getDragLayer().removeView(widget);
|
||||
}
|
||||
@@ -728,7 +741,9 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
|
||||
@Override
|
||||
public void cleanUpShortPress(View v) {
|
||||
Log.d(TAG, "6557954 Cleanup shortpress");
|
||||
if (!mDraggingWidget) {
|
||||
Log.d(TAG, " 6557954 Cleanup shortpress, cleanup cleanup preloading");
|
||||
cleanupWidgetPreloading(false);
|
||||
}
|
||||
}
|
||||
@@ -739,9 +754,15 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
|
||||
ImageView image = (ImageView) v.findViewById(R.id.widget_preview);
|
||||
PendingAddItemInfo createItemInfo = (PendingAddItemInfo) v.getTag();
|
||||
|
||||
if (createItemInfo instanceof PendingAddWidgetInfo) {
|
||||
PendingAddWidgetInfo createWidgetInfo = mCreateWidgetInfo;
|
||||
Log.d(TAG, "6557954 Begin dragging widget, view: " + v + ", widget info: " + createWidgetInfo.info);
|
||||
}
|
||||
|
||||
// If the ImageView doesn't have a drawable yet, the widget preview hasn't been loaded and
|
||||
// we abort the drag.
|
||||
if (image.getDrawable() == null) {
|
||||
Log.d(TAG, " 6557954 Begin dragging widget, abort, no drawable set");
|
||||
mDraggingWidget = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user