Fixing empty page not removed when drag ends
Bug: 179550470
Test: Verified on device
Change-Id: Ie9b20dfde1a64b385041f6e4d32fe47e3c6e5a7d
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index aca3d3c..786a9c5 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -446,6 +446,19 @@
}
updateChildrenLayersEnabled();
+ StateManager<LauncherState> stateManager = mLauncher.getStateManager();
+ stateManager.addStateListener(new StateManager.StateListener<LauncherState>() {
+ @Override
+ public void onStateTransitionComplete(LauncherState finalState) {
+ if (finalState == NORMAL) {
+ if (!mDeferRemoveExtraEmptyScreen) {
+ removeExtraEmptyScreen(true /* stripEmptyScreens */);
+ }
+ stateManager.removeStateListener(this);
+ }
+ }
+ });
+
mDragInfo = null;
mOutlineProvider = null;
mDragSourceInternal = null;
@@ -1877,19 +1890,6 @@
};
}
}
- StateManager<LauncherState> stateManager = mLauncher.getStateManager();
- stateManager.addStateListener(new StateManager.StateListener<LauncherState>() {
- @Override
- public void onStateTransitionComplete(LauncherState finalState) {
- if (finalState == NORMAL) {
- if (!mDeferRemoveExtraEmptyScreen) {
- removeExtraEmptyScreen(true /* stripEmptyScreens */);
- }
- stateManager.removeStateListener(this);
- }
- }
- });
-
mLauncher.getModelWriter().modifyItemInDatabase(info, container, screenId,
lp.cellX, lp.cellY, item.spanX, item.spanY);
} else {