Fix issue with adding widget with config activity to empty screen (issue 11381059)
Change-Id: Ic7eecb30422e7a6cf35ebe8470d9eba8752d406e
This commit is contained in:
@@ -76,6 +76,7 @@ public class CellLayout extends ViewGroup {
|
||||
private int mHeightGap;
|
||||
private int mMaxGap;
|
||||
private boolean mScrollingTransformsDirty = false;
|
||||
private boolean mDropPending = false;
|
||||
|
||||
private final Rect mRect = new Rect();
|
||||
private final CellInfo mCellInfo = new CellInfo();
|
||||
@@ -332,6 +333,14 @@ public class CellLayout extends ViewGroup {
|
||||
mShortcutsAndWidgets.setInvertIfRtl(invert);
|
||||
}
|
||||
|
||||
public void setDropPending(boolean pending) {
|
||||
mDropPending = pending;
|
||||
}
|
||||
|
||||
public boolean isDropPending() {
|
||||
return mDropPending;
|
||||
}
|
||||
|
||||
private void invalidateBubbleTextView(BubbleTextView icon) {
|
||||
final int padding = icon.getPressedOrFocusedBackgroundPadding();
|
||||
invalidate(icon.getLeft() + getPaddingLeft() - padding,
|
||||
|
||||
@@ -754,10 +754,14 @@ public class Launcher extends Activity
|
||||
};
|
||||
} else {
|
||||
result = resultCode;
|
||||
final CellLayout dropLayout =
|
||||
(CellLayout) mWorkspace.getScreenWithId(mPendingAddInfo.screenId);
|
||||
dropLayout.setDropPending(true);
|
||||
onComplete = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
completeTwoStageWidgetDrop(result, appWidgetId);
|
||||
dropLayout.setDropPending(false);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -671,7 +671,8 @@ public class Workspace extends SmoothPagedView
|
||||
CellLayout finalScreen = mWorkspaceScreens.get(finalScreenId);
|
||||
|
||||
// If the final screen is empty, convert it to the extra empty screen
|
||||
if (finalScreen.getShortcutsAndWidgets().getChildCount() == 0) {
|
||||
if (finalScreen.getShortcutsAndWidgets().getChildCount() == 0 &&
|
||||
!finalScreen.isDropPending()) {
|
||||
mWorkspaceScreens.remove(finalScreenId);
|
||||
mScreenOrder.remove(finalScreenId);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user