Loading src/com/android/launcher3/DeviceProfile.java +16 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -137,7 +139,8 @@ public class DeviceProfile { private ArrayList<DeviceProfileCallbacks> mCallbacks = new ArrayList<DeviceProfileCallbacks>(); DeviceProfile(String n, float w, float h, float r, float c, 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) { Loading @@ -147,8 +150,12 @@ public class DeviceProfile { name = n; minWidthDps = w; minHeightDps = h; numRows = r; numColumns = c; numFolderRows = fr; numFolderColumns = fc; iconSize = is; iconTextSize = its; numHotseatIcons = hs; Loading Loading @@ -209,6 +216,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); Loading Loading @@ -265,8 +275,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; Loading src/com/android/launcher3/DynamicGrid.java +11 −11 Original line number Diff line number Diff line Loading @@ -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, Loading src/com/android/launcher3/FolderPagedView.java +2 −10 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading
src/com/android/launcher3/DeviceProfile.java +16 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -137,7 +139,8 @@ public class DeviceProfile { private ArrayList<DeviceProfileCallbacks> mCallbacks = new ArrayList<DeviceProfileCallbacks>(); DeviceProfile(String n, float w, float h, float r, float c, 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) { Loading @@ -147,8 +150,12 @@ public class DeviceProfile { name = n; minWidthDps = w; minHeightDps = h; numRows = r; numColumns = c; numFolderRows = fr; numFolderColumns = fc; iconSize = is; iconTextSize = its; numHotseatIcons = hs; Loading Loading @@ -209,6 +216,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); Loading Loading @@ -265,8 +275,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; Loading
src/com/android/launcher3/DynamicGrid.java +11 −11 Original line number Diff line number Diff line Loading @@ -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, Loading
src/com/android/launcher3/FolderPagedView.java +2 −10 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading