Updating folder grid sizes for various devices
Change-Id: Ifd5930a4d6f54428500c0ef61ef21c0fc6a6f5cd
This commit is contained in:
@@ -69,8 +69,10 @@ public class DeviceProfile {
|
||||
String name;
|
||||
float minWidthDps;
|
||||
float minHeightDps;
|
||||
public float numRows;
|
||||
public float numColumns;
|
||||
public int numRows;
|
||||
public int numColumns;
|
||||
public int numFolderRows;
|
||||
public int numFolderColumns;
|
||||
float numHotseatIcons;
|
||||
float iconSize;
|
||||
private float iconTextSize;
|
||||
@@ -138,8 +140,9 @@ public class DeviceProfile {
|
||||
|
||||
private ArrayList<DeviceProfileCallbacks> mCallbacks = new ArrayList<DeviceProfileCallbacks>();
|
||||
|
||||
DeviceProfile(String n, float w, float h, float r, float c,
|
||||
float is, float its, float hs, float his, int dlId) {
|
||||
DeviceProfile(String n, float w, float h,
|
||||
int r, int c, int fr, int fc,
|
||||
float is, float its, float hs, float his, int dlId) {
|
||||
// Ensure that we have an odd number of hotseat items (since we need to place all apps)
|
||||
if (hs % 2 == 0) {
|
||||
throw new RuntimeException("All Device Profiles must have an odd number of hotseat spaces");
|
||||
@@ -148,8 +151,12 @@ public class DeviceProfile {
|
||||
name = n;
|
||||
minWidthDps = w;
|
||||
minHeightDps = h;
|
||||
|
||||
numRows = r;
|
||||
numColumns = c;
|
||||
numFolderRows = fr;
|
||||
numFolderColumns = fc;
|
||||
|
||||
iconSize = is;
|
||||
iconTextSize = its;
|
||||
numHotseatIcons = hs;
|
||||
@@ -210,6 +217,9 @@ public class DeviceProfile {
|
||||
// Snap to the closest column count
|
||||
numColumns = closestProfile.numColumns;
|
||||
|
||||
numFolderRows = closestProfile.numFolderRows;
|
||||
numFolderColumns = closestProfile.numFolderColumns;
|
||||
|
||||
// Snap to the closest hotseat size
|
||||
numHotseatIcons = closestProfile.numHotseatIcons;
|
||||
hotseatAllAppsRank = (int) (numHotseatIcons / 2);
|
||||
@@ -266,8 +276,8 @@ public class DeviceProfile {
|
||||
DeviceProfile partnerDp = p.getDeviceProfileOverride(dm);
|
||||
if (partnerDp != null) {
|
||||
if (partnerDp.numRows > 0 && partnerDp.numColumns > 0) {
|
||||
numRows = partnerDp.numRows;
|
||||
numColumns = partnerDp.numColumns;
|
||||
numRows = numFolderRows = partnerDp.numRows;
|
||||
numColumns = numFolderColumns = partnerDp.numColumns;
|
||||
}
|
||||
if (partnerDp.allAppsShortEdgeCount > 0 && partnerDp.allAppsLongEdgeCount > 0) {
|
||||
allAppsShortEdgeCount = partnerDp.allAppsShortEdgeCount;
|
||||
|
||||
@@ -59,30 +59,30 @@ public class DynamicGrid {
|
||||
DEFAULT_ICON_SIZE_PX = pxFromDp(DEFAULT_ICON_SIZE_DP, dm);
|
||||
// Our phone profiles include the bar sizes in each orientation
|
||||
deviceProfiles.add(new DeviceProfile("Super Short Stubby",
|
||||
255, 300, 2, 3, 48, 13, 3, 48, R.xml.default_workspace_4x4));
|
||||
255, 300, 2, 3, 2, 3, 48, 13, 3, 48, R.xml.default_workspace_4x4));
|
||||
deviceProfiles.add(new DeviceProfile("Shorter Stubby",
|
||||
255, 400, 3, 3, 48, 13, 3, 48, R.xml.default_workspace_4x4));
|
||||
255, 400, 3, 3, 3, 3, 48, 13, 3, 48, R.xml.default_workspace_4x4));
|
||||
deviceProfiles.add(new DeviceProfile("Short Stubby",
|
||||
275, 420, 3, 4, 48, 13, 5, 48, R.xml.default_workspace_4x4));
|
||||
275, 420, 3, 4, 3, 4, 48, 13, 5, 48, R.xml.default_workspace_4x4));
|
||||
deviceProfiles.add(new DeviceProfile("Stubby",
|
||||
255, 450, 3, 4, 48, 13, 5, 48, R.xml.default_workspace_4x4));
|
||||
255, 450, 3, 4, 3, 4, 48, 13, 5, 48, R.xml.default_workspace_4x4));
|
||||
deviceProfiles.add(new DeviceProfile("Nexus S",
|
||||
296, 491.33f, 4, 4, 48, 13, 5, 48, R.xml.default_workspace_4x4));
|
||||
296, 491.33f, 4, 4, 4, 4, 48, 13, 5, 48, R.xml.default_workspace_4x4));
|
||||
deviceProfiles.add(new DeviceProfile("Nexus 4",
|
||||
335, 567, 4, 4, DEFAULT_ICON_SIZE_DP, 13, 5, 56, R.xml.default_workspace_4x4));
|
||||
335, 567, 4, 4, 4, 4, DEFAULT_ICON_SIZE_DP, 13, 5, 56, R.xml.default_workspace_4x4));
|
||||
deviceProfiles.add(new DeviceProfile("Nexus 5",
|
||||
359, 567, 4, 4, DEFAULT_ICON_SIZE_DP, 13, 5, 56, R.xml.default_workspace_4x4));
|
||||
359, 567, 4, 4, 4, 4, DEFAULT_ICON_SIZE_DP, 13, 5, 56, R.xml.default_workspace_4x4));
|
||||
deviceProfiles.add(new DeviceProfile("Large Phone",
|
||||
406, 694, 5, 5, 64, 14.4f, 5, 56, R.xml.default_workspace_5x5));
|
||||
406, 694, 5, 5, 4, 4, 64, 14.4f, 5, 56, R.xml.default_workspace_5x5));
|
||||
// The tablet profile is odd in that the landscape orientation
|
||||
// also includes the nav bar on the side
|
||||
deviceProfiles.add(new DeviceProfile("Nexus 7",
|
||||
575, 904, 5, 6, 72, 14.4f, 7, 60, R.xml.default_workspace_5x6));
|
||||
575, 904, 5, 6, 4, 5, 72, 14.4f, 7, 60, R.xml.default_workspace_5x6));
|
||||
// Larger tablet profiles always have system bars on the top & bottom
|
||||
deviceProfiles.add(new DeviceProfile("Nexus 10",
|
||||
727, 1207, 5, 6, 76, 14.4f, 7, 64, R.xml.default_workspace_5x6));
|
||||
727, 1207, 5, 6, 4, 5, 76, 14.4f, 7, 64, R.xml.default_workspace_5x6));
|
||||
deviceProfiles.add(new DeviceProfile("20-inch Tablet",
|
||||
1527, 2527, 7, 7, 100, 20, 7, 72, R.xml.default_workspace_4x4));
|
||||
1527, 2527, 7, 7, 6, 6, 100, 20, 7, 72, R.xml.default_workspace_4x4));
|
||||
mMinWidth = dpiFromPx(minWidthPx, dm);
|
||||
mMinHeight = dpiFromPx(minHeightPx, dm);
|
||||
mProfile = new DeviceProfile(context, deviceProfiles,
|
||||
|
||||
@@ -51,9 +51,6 @@ public class FolderPagedView extends PagedView {
|
||||
|
||||
private static final int[] sTempPosArray = new int[2];
|
||||
|
||||
// TODO: Remove this restriction
|
||||
private static final int MAX_ITEMS_PER_PAGE = 4;
|
||||
|
||||
public final boolean rtlLayout;
|
||||
|
||||
private final LayoutInflater mInflater;
|
||||
@@ -80,13 +77,8 @@ public class FolderPagedView extends PagedView {
|
||||
LauncherAppState app = LauncherAppState.getInstance();
|
||||
|
||||
DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
|
||||
if (ALLOW_FOLDER_SCROLL) {
|
||||
mMaxCountX = Math.min((int) grid.numColumns, MAX_ITEMS_PER_PAGE);
|
||||
mMaxCountY = Math.min((int) grid.numRows, MAX_ITEMS_PER_PAGE);
|
||||
} else {
|
||||
mMaxCountX = (int) grid.numColumns;
|
||||
mMaxCountY = (int) grid.numRows;
|
||||
}
|
||||
mMaxCountX = (int) grid.numFolderColumns;
|
||||
mMaxCountY = (int) grid.numFolderRows;
|
||||
|
||||
mMaxItemsPerPage = mMaxCountX * mMaxCountY;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user