diff --git a/res/layout-land/launcher.xml b/res/layout-land/launcher.xml
index 0892352a9c..051d8b25c3 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" />
+
+
+
+
+
-
-
-
-
\ No newline at end of file
diff --git a/res/layout-port/launcher.xml b/res/layout-port/launcher.xml
index ad7eff4bac..445c85ea40 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" />
+
+
+
+
+
-
-
-
-
\ No newline at end of file
diff --git a/res/layout-sw720dp/launcher.xml b/res/layout-sw720dp/launcher.xml
index b5540423e5..81a8f37da0 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" />
+
+
+
+
+
-
-
-
-
\ No newline at end of file
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index 6a959daffd..4bfeb60b89 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 19bc6827f6..5eb8483061 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 002b520453..a4ed91f731 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() {