summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/util/FocusLogic.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/util/FocusLogic.java')
-rw-r--r--src/com/android/launcher3/util/FocusLogic.java17
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++;