diff options
-rw-r--r-- | res/layout-land/launcher.xml | 27 | ||||
-rw-r--r-- | res/layout-port/launcher.xml | 27 | ||||
-rw-r--r-- | res/layout-sw720dp/launcher.xml | 27 | ||||
-rw-r--r-- | src/com/android/launcher2/AppsCustomizePagedView.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher2/AppsCustomizeTabHost.java | 11 | ||||
-rw-r--r-- | src/com/android/launcher2/Launcher.java | 4 |
6 files changed, 57 insertions, 42 deletions
diff --git a/res/layout-land/launcher.xml b/res/layout-land/launcher.xml index 0892352a9..051d8b25c 100644 --- a/res/layout-land/launcher.xml +++ b/res/layout-land/launcher.xml @@ -86,6 +86,21 @@ android:id="@+id/qsb_bar" layout="@layout/qsb_bar" /> + <!-- The Workspace cling must appear under the AppsCustomizePagedView below to ensure + that it is still visible during the transition to AllApps and doesn't overlay on + top of that view. --> + <include layout="@layout/workspace_cling" + android:id="@+id/workspace_cling" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone" /> + + <include layout="@layout/folder_cling" + android:id="@+id/folder_cling" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone" /> + <com.android.launcher2.DrawableStateProxyView android:id="@+id/voice_button_proxy" android:layout_width="@dimen/qsb_bar_height" @@ -102,17 +117,5 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="invisible" /> - - <include layout="@layout/workspace_cling" - android:id="@+id/workspace_cling" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="gone" /> - - <include layout="@layout/folder_cling" - android:id="@+id/folder_cling" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="gone" /> </com.android.launcher2.DragLayer> </FrameLayout>
\ No newline at end of file diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml index ad7eff4ba..445c85ea4 100644 --- a/res/layout-port/launcher.xml +++ b/res/layout-port/launcher.xml @@ -85,6 +85,21 @@ android:id="@+id/qsb_bar" layout="@layout/qsb_bar" /> + <!-- The Workspace cling must appear under the AppsCustomizePagedView below to ensure + that it is still visible during the transition to AllApps and doesn't overlay on + top of that view. --> + <include layout="@layout/workspace_cling" + android:id="@+id/workspace_cling" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone" /> + + <include layout="@layout/folder_cling" + android:id="@+id/folder_cling" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone" /> + <com.android.launcher2.DrawableStateProxyView android:id="@+id/voice_button_proxy" android:layout_width="80dp" @@ -100,17 +115,5 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="invisible" /> - - <include layout="@layout/workspace_cling" - android:id="@+id/workspace_cling" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="gone" /> - - <include layout="@layout/folder_cling" - android:id="@+id/folder_cling" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="gone" /> </com.android.launcher2.DragLayer> </FrameLayout>
\ No newline at end of file diff --git a/res/layout-sw720dp/launcher.xml b/res/layout-sw720dp/launcher.xml index b5540423e..81a8f37da 100644 --- a/res/layout-sw720dp/launcher.xml +++ b/res/layout-sw720dp/launcher.xml @@ -85,6 +85,21 @@ android:id="@+id/qsb_bar" layout="@layout/qsb_bar" /> + <!-- The Workspace cling must appear under the AppsCustomizePagedView below to ensure + that it is still visible during the transition to AllApps and doesn't overlay on + top of that view. --> + <include layout="@layout/workspace_cling" + android:id="@+id/workspace_cling" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone" /> + + <include layout="@layout/folder_cling" + android:id="@+id/folder_cling" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone" /> + <com.android.launcher2.DrawableStateProxyView android:id="@+id/voice_button_proxy" android:layout_width="80dp" @@ -101,17 +116,5 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="invisible" /> - - <include layout="@layout/workspace_cling" - android:id="@+id/workspace_cling" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="gone" /> - - <include layout="@layout/folder_cling" - android:id="@+id/folder_cling" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:visibility="gone" /> </com.android.launcher2.DragLayer> </FrameLayout>
\ No newline at end of file diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java index 6a959daff..4bfeb60b8 100644 --- a/src/com/android/launcher2/AppsCustomizePagedView.java +++ b/src/com/android/launcher2/AppsCustomizePagedView.java @@ -499,9 +499,10 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen int[] pos = mWidgetSpacingLayout.estimateCellPosition(mClingFocusedX, mClingFocusedY); mLauncher.getDragLayer().getLocationInDragLayer(this, offset); // PagedViews are centered horizontally but top aligned + // Note we have to shift the items up now that Launcher sits under the status bar pos[0] += (getMeasuredWidth() - mWidgetSpacingLayout.getMeasuredWidth()) / 2 + offset[0]; - pos[1] += offset[1]; + pos[1] += offset[1] - mLauncher.getDragLayer().getPaddingTop(); mLauncher.showFirstRunAllAppsCling(pos); } } diff --git a/src/com/android/launcher2/AppsCustomizeTabHost.java b/src/com/android/launcher2/AppsCustomizeTabHost.java index 19bc6827f..5eb848306 100644 --- a/src/com/android/launcher2/AppsCustomizeTabHost.java +++ b/src/com/android/launcher2/AppsCustomizeTabHost.java @@ -418,11 +418,9 @@ public class AppsCustomizeTabHost extends TabHost implements LauncherTransitiona } if (!toWorkspace) { - // Going from Workspace -> All Apps - setVisibilityOfSiblingsWithLowerZOrder(INVISIBLE); - - // Dismiss the workspace cling and show the all apps cling (if not already shown) + // Dismiss the workspace cling l.dismissWorkspaceCling(null); + // Show the all apps cling (if not already shown) mAppsCustomizePane.showAllAppsCling(); // Make sure adjacent pages are loaded (we wait until after the transition to // prevent slowing down the animation) @@ -431,6 +429,11 @@ public class AppsCustomizeTabHost extends TabHost implements LauncherTransitiona if (!LauncherApplication.isScreenLarge()) { mAppsCustomizePane.hideScrollingIndicator(false); } + + // Going from Workspace -> All Apps + // NOTE: We should do this at the end since we check visibility state in some of the + // cling initialization/dismiss code above. + setVisibilityOfSiblingsWithLowerZOrder(INVISIBLE); } } diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index 002b52045..a4ed91f73 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -3739,7 +3739,9 @@ public final class Launcher extends Activity } private void dismissCling(final Cling cling, final String flag, int duration) { - if (cling != null && cling.getVisibility() == View.VISIBLE) { + // To catch cases where siblings of top-level views are made invisible, just check whether + // the cling is directly set to GONE before dismissing it. + if (cling != null && cling.getVisibility() != View.GONE) { ObjectAnimator anim = LauncherAnimUtils.ofFloat(cling, "alpha", 0f); anim.setDuration(duration); anim.addListener(new AnimatorListenerAdapter() { |