diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/Folder.java | 18 | ||||
-rw-r--r-- | src/com/android/launcher3/Utilities.java | 8 | ||||
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 5 |
3 files changed, 21 insertions, 10 deletions
diff --git a/src/com/android/launcher3/Folder.java b/src/com/android/launcher3/Folder.java index 476ebd12e..f2c5d93f5 100644 --- a/src/com/android/launcher3/Folder.java +++ b/src/com/android/launcher3/Folder.java @@ -62,6 +62,7 @@ import com.android.launcher3.util.UiThreadCircularReveal; import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; /** * Represents a set of icons chosen by the user or generated by the system. @@ -363,7 +364,7 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList void bind(FolderInfo info) { mInfo = info; ArrayList<ShortcutInfo> children = info.contents; - Collections.sort(children, Utilities.RANK_COMPARATOR); + Collections.sort(children, ITEM_POS_COMPARATOR); ArrayList<ShortcutInfo> overflow = mContent.bindItems(children); @@ -1396,4 +1397,19 @@ public class Folder extends LinearLayout implements DragSource, View.OnClickList onDragOver(mDragObject, 1); } } + + // Compares item position based on rank and position giving priority to the rank. + private static final Comparator<ItemInfo> ITEM_POS_COMPARATOR = new Comparator<ItemInfo>() { + + @Override + public int compare(ItemInfo lhs, ItemInfo rhs) { + if (lhs.rank != rhs.rank) { + return lhs.rank - rhs.rank; + } else if (lhs.cellY != rhs.cellY) { + return lhs.cellY - rhs.cellY; + } else { + return lhs.cellX - rhs.cellX; + } + } + }; } diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java index 19334ed31..8f4f0f9a1 100644 --- a/src/com/android/launcher3/Utilities.java +++ b/src/com/android/launcher3/Utilities.java @@ -59,7 +59,6 @@ import android.widget.Toast; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.ArrayList; -import java.util.Comparator; import java.util.Locale; import java.util.Set; import java.util.regex.Matcher; @@ -573,13 +572,6 @@ public final class Utilities { } } - public static final Comparator<ItemInfo> RANK_COMPARATOR = new Comparator<ItemInfo>() { - @Override - public int compare(ItemInfo lhs, ItemInfo rhs) { - return lhs.rank - rhs.rank; - } - }; - /** * Find the first vacant cell, if there is one. * diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index fb0a54d3c..451f1245e 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -1976,7 +1976,7 @@ public class Workspace extends PagedView public Animator setStateWithAnimation(State toState, int toPage, boolean animated, boolean hasOverlaySearchBar, HashMap<View, Integer> layerViews) { // Create the animation to the new state - Animator workspaceAnim = mStateTransitionAnimation.getAnimationToState(getState(), + Animator workspaceAnim = mStateTransitionAnimation.getAnimationToState(mState, toState, toPage, animated, hasOverlaySearchBar, layerViews); // Update the current state @@ -1996,6 +1996,9 @@ public class Workspace extends PagedView for (int i = numCustomPages(); i < total; i++) { updateAccessibilityFlags((CellLayout) getPageAt(i), i); } + setImportantForAccessibility((mState == State.NORMAL || mState == State.OVERVIEW) + ? IMPORTANT_FOR_ACCESSIBILITY_AUTO + : IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS); } else { int accessible = mState == State.NORMAL ? IMPORTANT_FOR_ACCESSIBILITY_AUTO : |