Merge "Make hotseat bottom a launcher config"
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index b1294b4..f572756 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -32,6 +32,14 @@
<!-- Hotseat -->
<dimen name="dynamic_grid_hotseat_top_padding">8dp</dimen>
<dimen name="dynamic_grid_hotseat_bottom_padding">2dp</dimen>
+ <dimen name="dynamic_grid_hotseat_bottom_tall_padding">0dp</dimen>
+
+ <!-- Qsb -->
+ <!-- Used for adjusting the position of QSB when placed in hotseat. This is a ratio and a higher
+ number signifies that the QSB is close to the hotseat icons and a lower number signifies that
+ it is close to the bottom of the screen -->
+ <item name="qsb_center_factor" format="float" type="dimen">0.325</item>
+
<!-- Extra bottom padding for non-tall devices. -->
<dimen name="dynamic_grid_hotseat_bottom_non_tall_padding">0dp</dimen>
<dimen name="dynamic_grid_hotseat_extra_vertical_size">34dp</dimen>
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index 0b60b32..e29cd55 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -53,7 +53,7 @@
private static final int DEFAULT_DOT_SIZE = 100;
// Ratio of empty space, qsb should take up to appear visually centered.
- private static final float QSB_CENTER_FACTOR = .325f;
+ private final float mQsbCenterFactor;
public final InvariantDeviceProfile inv;
private final Info mInfo;
@@ -255,7 +255,7 @@
aspectRatio = ((float) Math.max(widthPx, heightPx)) / Math.min(widthPx, heightPx);
boolean isTallDevice = Float.compare(aspectRatio, TALL_DEVICE_ASPECT_RATIO_THRESHOLD) >= 0;
-
+ mQsbCenterFactor = context.getResources().getFloat(R.dimen.qsb_center_factor);
// Some more constants
context = getContext(context, info, isVerticalBarLayout()
? Configuration.ORIENTATION_LANDSCAPE
@@ -347,7 +347,8 @@
hotseatBarSizeExtraSpacePx = 0;
hotseatBarTopPaddingPx =
res.getDimensionPixelSize(R.dimen.dynamic_grid_hotseat_top_padding);
- hotseatBarBottomPaddingPx = (isTallDevice ? 0
+ hotseatBarBottomPaddingPx = (isTallDevice ? res.getDimensionPixelSize(
+ R.dimen.dynamic_grid_hotseat_bottom_tall_padding)
: res.getDimensionPixelSize(R.dimen.dynamic_grid_hotseat_bottom_non_tall_padding))
+ res.getDimensionPixelSize(R.dimen.dynamic_grid_hotseat_bottom_padding);
hotseatBarSidePaddingEndPx =
@@ -931,8 +932,8 @@
// Note that taskbarSize = 0 unless isTaskbarPresent.
return Math.min(qsbBottomMarginPx + taskbarSize, freeSpace);
} else {
- return (int) (freeSpace * QSB_CENTER_FACTOR)
- + (isTaskbarPresent ? taskbarSize : mInsets.bottom);
+ return (int) (freeSpace * mQsbCenterFactor)
+ + (isTaskbarPresent ? taskbarSize : mInsets.bottom);
}
}