diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index f57753bde3..f8b7c279c0 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -3133,7 +3133,15 @@ public class Launcher extends Activity * @return The open shortcuts container, or null if there is none */ public DeepShortcutsContainer getOpenShortcutsContainer() { - return (DeepShortcutsContainer) mDragLayer.findViewById(R.id.deep_shortcuts_container); + // Iterate in reverse order. Shortcuts container is added later to the dragLayer, + // and will be one of the last views. + for (int i = mDragLayer.getChildCount() - 1; i >= 0; i--) { + View child = mDragLayer.getChildAt(i); + if (child instanceof DeepShortcutsContainer) { + return (DeepShortcutsContainer) child; + } + } + return null; } @Override diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 75d4a8d3d5..7d7324d0b4 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -532,8 +532,9 @@ public class Workspace extends PagedView */ public Folder getOpenFolder() { DragLayer dragLayer = mLauncher.getDragLayer(); - int count = dragLayer.getChildCount(); - for (int i = 0; i < count; i++) { + // Iterate in reverse order. Folder is added later to the dragLayer, + // and will be one of the last views. + for (int i = dragLayer.getChildCount() - 1; i >= 0; i--) { View child = dragLayer.getChildAt(i); if (child instanceof Folder) { Folder folder = (Folder) child;