OSDN Git Service

Prevent discordant state between Workspace and Launcher (issue 15409018)
authorAdam Cohen <adamcohen@google.com>
Wed, 18 Jun 2014 17:34:58 +0000 (10:34 -0700)
committerAdam Cohen <adamcohen@google.com>
Wed, 18 Jun 2014 17:38:31 +0000 (10:38 -0700)
Change-Id: I13bb3e51da18998a5dade49c50e5fbf2266022d3

src/com/android/launcher3/Launcher.java
src/com/android/launcher3/Workspace.java

index 60efcea..d76b238 100644 (file)
@@ -3380,10 +3380,7 @@ public class Launcher extends Activity
     }
 
     void showWorkspace(boolean animated, Runnable onCompleteRunnable) {
-        if (mWorkspace.isInOverviewMode()) {
-            mWorkspace.exitOverviewMode(animated);
-        }
-        if (mState != State.WORKSPACE) {
+        if (mState != State.WORKSPACE || mWorkspace.getState() != Workspace.State.NORMAL) {
             boolean wasInSpringLoadedMode = (mState != State.WORKSPACE);
             mWorkspace.setVisibility(View.VISIBLE);
             hideAppsCustomizeHelper(Workspace.State.NORMAL, animated, false, onCompleteRunnable);
@@ -3472,7 +3469,6 @@ public class Launcher extends Activity
                 }
             }
         }, delay);
-
     }
 
     void exitSpringLoadedDragMode() {
index bd9287f..6afea82 100644 (file)
@@ -2204,6 +2204,10 @@ public class Workspace extends SmoothPagedView
         updateAccessibilityFlags();
     }
 
+    State getState() {
+        return mState;
+    }
+
     private void updateAccessibilityFlags() {
         int accessible = mState == State.NORMAL ?
                 ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_YES :