diff options
-rw-r--r-- | src/com/android/launcher2/Folder.java | 2 | ||||
-rw-r--r-- | src/com/android/launcher2/Launcher.java | 31 | ||||
-rw-r--r-- | src/com/android/launcher2/Workspace.java | 8 |
3 files changed, 12 insertions, 29 deletions
diff --git a/src/com/android/launcher2/Folder.java b/src/com/android/launcher2/Folder.java index 13815adbc..347eba045 100644 --- a/src/com/android/launcher2/Folder.java +++ b/src/com/android/launcher2/Folder.java @@ -648,7 +648,7 @@ public class Folder extends LinearLayout implements DragSource, OnItemLongClickL } }; - private void completeDragExit() { + public void completeDragExit() { mLauncher.closeFolder(); mCurrentDragInfo = null; mCurrentDragView = null; diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index 36ff2b2ef..93fab97a3 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -148,8 +148,6 @@ public final class Launcher extends Activity private static final String RUNTIME_STATE_CURRENT_SCREEN = "launcher.current_screen"; // Type: int private static final String RUNTIME_STATE = "launcher.state"; - // Type: long - private static final String RUNTIME_STATE_FOLDERS = "launcher.folder"; // Type: int private static final String RUNTIME_STATE_PENDING_ADD_SCREEN = "launcher.add_screen"; // Type: int @@ -1266,6 +1264,8 @@ public final class Launcher extends Activity // also will cancel mWaitingForResult. closeSystemDialogs(); + closeFolder(); + boolean alreadyOnHome = ((intent.getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT); @@ -1300,15 +1300,7 @@ public final class Launcher extends Activity @Override protected void onSaveInstanceState(Bundle outState) { outState.putInt(RUNTIME_STATE_CURRENT_SCREEN, mWorkspace.getCurrentPage()); - - final Folder folder = mWorkspace.getOpenFolder(); - if (folder != null) { - long[] ids = new long[1]; - ids[0] = folder.getInfo().id; - outState.putLongArray(RUNTIME_STATE_FOLDERS, ids); - } else { - super.onSaveInstanceState(outState); - } + super.onSaveInstanceState(outState); outState.putInt(RUNTIME_STATE, mState.ordinal()); @@ -3096,23 +3088,6 @@ public final class Launcher extends Activity if (!mWorkspace.hasFocus()) { mWorkspace.getChildAt(mWorkspace.getCurrentPage()).requestFocus(); } - - final long[] folders = mSavedState.getLongArray(RUNTIME_STATE_FOLDERS); - if (folders != null) { - for (long folderId : folders) { - final FolderInfo info = sFolders.get(folderId); - final FolderIcon folderIcon = (FolderIcon) - mWorkspace.getViewForTag(info); - if (folderIcon != null) { - openFolder(folderIcon); - } - } - final Folder openFolder = mWorkspace.getOpenFolder(); - if (openFolder != null) { - openFolder.requestFocus(); - } - } - mSavedState = null; } diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index a79c779a4..ab6712db6 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -3025,6 +3025,10 @@ public class Workspace extends SmoothPagedView if (!mIsSmall && !mIsInUnshrinkAnimation) { super.scrollLeft(); } + Folder openFolder = getOpenFolder(); + if (openFolder != null) { + openFolder.completeDragExit(); + } } @Override @@ -3032,6 +3036,10 @@ public class Workspace extends SmoothPagedView if (!mIsSmall && !mIsInUnshrinkAnimation) { super.scrollRight(); } + Folder openFolder = getOpenFolder(); + if (openFolder != null) { + openFolder.completeDragExit(); + } } @Override |