diff options
Diffstat (limited to 'src/com/android/launcher3/util/FocusLogic.java')
-rw-r--r-- | src/com/android/launcher3/util/FocusLogic.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/com/android/launcher3/util/FocusLogic.java b/src/com/android/launcher3/util/FocusLogic.java index ba44f008a..2aae3c089 100644 --- a/src/com/android/launcher3/util/FocusLogic.java +++ b/src/com/android/launcher3/util/FocusLogic.java @@ -346,6 +346,18 @@ public class FocusLogic { } } } + + // Rule 3: if switching between pages, do a brute-force search to find an item that was + // missed by rules 1 and 2 (such as when going from a bottom right icon to top left) + if (iconIdx == PIVOT) { + for (int x = xPos + increment; 0 <= x && x < cntX; x = x + increment) { + for (int y = 0; y < cntY; y++) { + if ((newIconIndex = inspectMatrix(x, y, cntX, cntY, matrix)) != NOOP) { + return newIconIndex; + } + } + } + } return newIconIndex; } |