From a39739b8104131f098c0fc1680b063fd7d12bad7 Mon Sep 17 00:00:00 2001 From: Danesh M Date: Thu, 24 Oct 2013 20:16:50 +0000 Subject: Revert "Trebuchet : Fix dynamic padding" This reverts commit efa4b8d18459243abf379bb0135ee0a89165a50a. Change-Id: Ibc3857b7cb94cce395cbaa2671b34cced3a538b9 --- src/com/cyanogenmod/trebuchet/CellLayout.java | 27 ++++++++-------------- src/com/cyanogenmod/trebuchet/Workspace.java | 11 ++++++++- .../trebuchet/preference/PreferencesProvider.java | 3 +++ 3 files changed, 22 insertions(+), 19 deletions(-) (limited to 'src/com/cyanogenmod/trebuchet') diff --git a/src/com/cyanogenmod/trebuchet/CellLayout.java b/src/com/cyanogenmod/trebuchet/CellLayout.java index 2118a95f0..eab7d1e02 100644 --- a/src/com/cyanogenmod/trebuchet/CellLayout.java +++ b/src/com/cyanogenmod/trebuchet/CellLayout.java @@ -74,6 +74,7 @@ public class CellLayout extends ViewGroup { private int mOriginalHeightGap; private int mWidthGap; private int mHeightGap; + private int mMaxGap; private boolean mScrollingTransformsDirty = false; private final Rect mRect = new Rect(); @@ -190,6 +191,7 @@ public class CellLayout extends ViewGroup { mCellHeight = mOriginalCellHeight = a.getDimensionPixelSize(R.styleable.CellLayout_cellHeight, 10); mWidthGap = mOriginalWidthGap = a.getDimensionPixelSize(R.styleable.CellLayout_widthGap, 0); mHeightGap = mOriginalHeightGap = a.getDimensionPixelSize(R.styleable.CellLayout_heightGap, 0); + mMaxGap = a.getDimensionPixelSize(R.styleable.CellLayout_maxGap, 0); mCountX = LauncherModel.getWorkspaceCellCountX(); mCountY = LauncherModel.getWorkspaceCellCountY(); mOccupied = new boolean[mCountX][mCountY]; @@ -281,6 +283,11 @@ public class CellLayout extends ViewGroup { mShortcutsAndWidgets = new ShortcutAndWidgetContainer(context); + if (!LauncherApplication.isScreenLarge()){ + mCellWidth = (mCellWidth * res.getInteger(R.integer.default_cell_count_x)) / mCountX; + mCellHeight = (mCellHeight * res.getInteger(R.integer.default_cell_count_y)) / mCountY; + } + mShortcutsAndWidgets.setCellDimensions(mCellWidth, mCellHeight, mWidthGap, mHeightGap); addView(mShortcutsAndWidgets); } @@ -992,26 +999,10 @@ public class CellLayout extends ViewGroup { if (mOriginalWidthGap < 0 || mOriginalHeightGap < 0) { int hSpace = widthSpecSize - getPaddingLeft() - getPaddingRight(); int vSpace = heightSpecSize - getPaddingTop() - getPaddingBottom(); - - if (hSpace - (mCountX * mCellWidth) < 0) { - mCellWidth = hSpace / mCountX; - } - if (vSpace - (mCountY * mCellHeight) < 0) { - mCellHeight = vSpace / mCountY; - } - int hFreeSpace = hSpace - (mCountX * mCellWidth); int vFreeSpace = vSpace - (mCountY * mCellHeight); - - mWidthGap = 0; - mHeightGap = 0; - - if (numWidthGaps > 0) { - mWidthGap = hFreeSpace / numWidthGaps; - } - if (numHeightGaps > 0) { - mHeightGap = vFreeSpace / numHeightGaps; - } + mWidthGap = Math.min(mMaxGap, numWidthGaps > 0 ? (hFreeSpace / numWidthGaps) : 0); + mHeightGap = Math.min(mMaxGap,numHeightGaps > 0 ? (vFreeSpace / numHeightGaps) : 0); mShortcutsAndWidgets.setCellDimensions(mCellWidth, mCellHeight, mWidthGap, mHeightGap); } else { mWidthGap = mOriginalWidthGap; diff --git a/src/com/cyanogenmod/trebuchet/Workspace.java b/src/com/cyanogenmod/trebuchet/Workspace.java index 5f0cc5aca..4dd4523ff 100644 --- a/src/com/cyanogenmod/trebuchet/Workspace.java +++ b/src/com/cyanogenmod/trebuchet/Workspace.java @@ -305,6 +305,7 @@ public class Workspace extends PagedView // Preferences private int mNumberHomescreens; private int mDefaultHomescreen; + private boolean mStretchScreens; private boolean mShowSearchBar; private boolean mShowHotseat; private boolean mHideIconLabels; @@ -392,6 +393,12 @@ public class Workspace extends PagedView mDefaultHomescreen = mNumberHomescreens / 2; } + mStretchScreens = PreferencesProvider.Interface.Homescreen.getStretchScreens(); + // Large screen has calculated dimensions always, unless specified by config_workspaceTabletGrid option + boolean workspaceTabletGrid = getResources().getBoolean(R.bool.config_workspaceTabletGrid); + if (LauncherApplication.isScreenLarge() && workspaceTabletGrid == false) { + mStretchScreens = false; + } mShowSearchBar = PreferencesProvider.Interface.Homescreen.getShowSearchBar(); mShowHotseat = PreferencesProvider.Interface.Dock.getShowDock(); mHideIconLabels = PreferencesProvider.Interface.Homescreen.getHideIconLabels(); @@ -524,7 +531,9 @@ public class Workspace extends PagedView (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); for (int i = 0; i < mNumberHomescreens; i++) { CellLayout screen = (CellLayout) inflater.inflate(R.layout.workspace_screen, null); - screen.setCellGaps(-1, -1); + if (mStretchScreens) { + screen.setCellGaps(-1, -1); + } addView(screen); } diff --git a/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java b/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java index 0cf38ae63..cd88bb5fd 100644 --- a/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java +++ b/src/com/cyanogenmod/trebuchet/preference/PreferencesProvider.java @@ -93,6 +93,9 @@ public final class PreferencesProvider { return def; } } + public static boolean getStretchScreens() { + return getBoolean("ui_homescreen_stretch_screens", true); + } public static boolean getShowSearchBar() { return getBoolean("ui_homescreen_general_search", true); } -- cgit v1.2.3