OSDN Git Service

WIP: Add moveToCustomContentScreen method
authorAllan Wojciechowski <allanwoj@google.com>
Thu, 12 Sep 2013 09:48:23 +0000 (10:48 +0100)
committerSandeep Siddhartha <sansid@google.com>
Fri, 13 Sep 2013 23:17:22 +0000 (16:17 -0700)
To allow as to move to the -1 screen from GEL. Also added a
showWorkspace method to handle intents when we are in All Apps.

Related GEL CL at ag/357408

Change-Id: I0a4d03df2bf035d342b74f6c3c9b3fe9105f1c59

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

index c282890..408f61a 100644 (file)
@@ -1631,10 +1631,7 @@ public class Launcher extends Activity
                     // If we are already on home, then just animate back to the workspace,
                     // otherwise, just wait until onResume to set the state back to Workspace
                     if (alreadyOnHome) {
-                        showWorkspace(true);
-                        if (mWorkspace.isInOverviewMode()) {
-                            mWorkspace.exitOverviewMode();
-                        }
+                        showWorkspace();
                     } else {
                         mOnResumeState = State.WORKSPACE;
                     }
@@ -1668,6 +1665,13 @@ public class Launcher extends Activity
         }
     }
 
+    protected void showWorkspace() {
+        showWorkspace(true);
+        if (mWorkspace.isInOverviewMode()) {
+            mWorkspace.exitOverviewMode();
+        }
+    }
+
     @Override
     public void onRestoreInstanceState(Bundle state) {
         super.onRestoreInstanceState(state);
@@ -1941,6 +1945,9 @@ public class Launcher extends Activity
         }
     }
 
+    protected void moveToCustomContentScreen(boolean animate) {
+        mWorkspace.moveToCustomContentScreen(animate);
+    }
     /**
      * Process a shortcut drop.
      *
index ee4bf66..672a387 100644 (file)
@@ -1333,7 +1333,7 @@ public class Workspace extends SmoothPagedView
     }
 
     private void updateStateForCustomContent(int screenCenter) {
-        if (hasCustomContent() && !isSmall() && !isSwitchingState()) {
+        if (hasCustomContent()) {
             int index = mScreenOrder.indexOf(CUSTOM_CONTENT_SCREEN_ID);
             int scrollDelta = getScrollForPage(index + 1) - getScrollX();
             float translationX = Math.max(scrollDelta, 0);
@@ -4127,20 +4127,39 @@ public class Workspace extends SmoothPagedView
         }
     }
 
-    void moveToDefaultScreen(boolean animate) {
+    private void moveToScreen(int page, boolean animate) {
         if (!isSmall()) {
             if (animate) {
-                snapToPage(mDefaultPage);
+                snapToPage(page);
             } else {
-                setCurrentPage(mDefaultPage);
+                setCurrentPage(page);
             }
         }
-        View child = getChildAt(mDefaultPage);
+        View child = getChildAt(page);
         if (child != null) {
             child.requestFocus();
         }
     }
 
+    void moveToDefaultScreen(boolean animate) {
+        moveToScreen(mDefaultPage, animate);
+    }
+
+    void moveToCustomContentScreen(boolean animate) {
+        if (hasCustomContent()) {
+            int ccIndex = getPageIndexForScreenId(CUSTOM_CONTENT_SCREEN_ID);
+            if (animate) {
+                snapToPage(ccIndex);
+            } else {
+                setCurrentPage(ccIndex);
+            }
+            View child = getChildAt(ccIndex);
+            if (child != null) {
+                child.requestFocus();
+            }
+         }
+    }
+
     @Override
     protected int getPageIndicatorMarker(int pageIndex) {
         if (getScreenIdForPageIndex(pageIndex) == CUSTOM_CONTENT_SCREEN_ID) {