diff options
Diffstat (limited to 'src/com/android/launcher3/util/FocusLogic.java')
-rw-r--r-- | src/com/android/launcher3/util/FocusLogic.java | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/com/android/launcher3/util/FocusLogic.java b/src/com/android/launcher3/util/FocusLogic.java index a5498f7b9..163c953bb 100644 --- a/src/com/android/launcher3/util/FocusLogic.java +++ b/src/com/android/launcher3/util/FocusLogic.java @@ -22,7 +22,10 @@ import android.view.View; import android.view.ViewGroup; import com.android.launcher3.CellLayout; +import com.android.launcher3.DeviceProfile; +import com.android.launcher3.InvariantDeviceProfile; import com.android.launcher3.ShortcutAndWidgetContainer; +import com.android.launcher3.config.FeatureFlags; import java.util.Arrays; @@ -190,15 +193,17 @@ public class FocusLogic { * in portrait orientation. In landscape, [(icon + hotseat) column count x (icon row count)] */ // TODO: get rid of the dynamic matrix creation - public static int[][] createSparseMatrixWithHotseat(CellLayout iconLayout, - CellLayout hotseatLayout, boolean isHotseatHorizontal, int allappsiconRank) { + public static int[][] createSparseMatrixWithHotseat( + CellLayout iconLayout, CellLayout hotseatLayout, DeviceProfile dp) { ViewGroup iconParent = iconLayout.getShortcutsAndWidgets(); ViewGroup hotseatParent = hotseatLayout.getShortcutsAndWidgets(); - boolean moreIconsInHotseatThanWorkspace = isHotseatHorizontal ? - hotseatLayout.getCountX() > iconLayout.getCountX() : - hotseatLayout.getCountY() > iconLayout.getCountY(); + boolean isHotseatHorizontal = !dp.isVerticalBarLayout(); + boolean moreIconsInHotseatThanWorkspace = !FeatureFlags.NO_ALL_APPS_ICON && + (isHotseatHorizontal + ? hotseatLayout.getCountX() > iconLayout.getCountX() + : hotseatLayout.getCountY() > iconLayout.getCountY()); int m, n; if (isHotseatHorizontal) { @@ -210,6 +215,7 @@ public class FocusLogic { } int[][] matrix = createFullMatrix(m, n); if (moreIconsInHotseatThanWorkspace) { + int allappsiconRank = dp.inv.getAllAppsButtonRank(); if (isHotseatHorizontal) { for (int j = 0; j < n; j++) { matrix[allappsiconRank][j] = ALL_APPS_COLUMN; @@ -229,6 +235,7 @@ public class FocusLogic { int cx = ((CellLayout.LayoutParams) cell.getLayoutParams()).cellX; int cy = ((CellLayout.LayoutParams) cell.getLayoutParams()).cellY; if (moreIconsInHotseatThanWorkspace) { + int allappsiconRank = dp.inv.getAllAppsButtonRank(); if (isHotseatHorizontal && cx >= allappsiconRank) { // Add 1 to account for the All Apps button. cx++; |