diff options
-rw-r--r-- | res/layout/apps_customize_pane.xml | 4 | ||||
-rw-r--r-- | res/values-land/dimens.xml | 2 | ||||
-rw-r--r-- | res/values-port/dimens.xml | 2 | ||||
-rw-r--r-- | res/values-sw600dp-land/dimens.xml | 6 | ||||
-rw-r--r-- | res/values-sw600dp-port/dimens.xml | 4 | ||||
-rw-r--r-- | res/values-sw600dp/dimens.xml | 2 | ||||
-rw-r--r-- | res/values-sw600dp/styles.xml | 4 | ||||
-rw-r--r-- | res/values-sw720dp-land/dimens.xml | 6 | ||||
-rw-r--r-- | res/values-sw720dp-port/dimens.xml | 9 | ||||
-rw-r--r-- | res/values-sw720dp/dimens.xml | 4 | ||||
-rw-r--r-- | res/values/attrs.xml | 8 | ||||
-rw-r--r-- | res/values/dimens.xml | 2 | ||||
-rw-r--r-- | src/com/android/launcher2/AppsCustomizePagedView.java | 16 | ||||
-rw-r--r-- | src/com/android/launcher2/PagedViewCellLayout.java | 13 |
14 files changed, 50 insertions, 32 deletions
diff --git a/res/layout/apps_customize_pane.xml b/res/layout/apps_customize_pane.xml index 27f2efe..aaca695 100644 --- a/res/layout/apps_customize_pane.xml +++ b/res/layout/apps_customize_pane.xml @@ -50,8 +50,8 @@ android:id="@+id/apps_customize_pane_content" android:layout_width="match_parent" android:layout_height="match_parent" - launcher:cellCountX="@integer/apps_customize_cellCountX" - launcher:cellCountY="@integer/apps_customize_cellCountY" + launcher:maxAppCellCountX="@integer/apps_customize_maxCellCountX" + launcher:maxAppCellCountY="@integer/apps_customize_maxCellCountY" launcher:pageLayoutWidthGap="@dimen/apps_customize_pageLayoutWidthGap" launcher:pageLayoutHeightGap="@dimen/apps_customize_pageLayoutHeightGap" launcher:pageLayoutPaddingTop="@dimen/apps_customize_pageLayoutPaddingTop" diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml index c4aef8b..89e6773 100644 --- a/res/values-land/dimens.xml +++ b/res/values-land/dimens.xml @@ -53,8 +53,6 @@ <dimen name="apps_customize_cell_width">80dp</dimen> <!-- The width can be 76dp because we don't have B padding --> <dimen name="apps_customize_cell_height">76dp</dimen> - <integer name="apps_customize_cellCountX">6</integer> - <integer name="apps_customize_cellCountY">3</integer> <dimen name="apps_customize_pageLayoutWidthGap">-1dp</dimen> <dimen name="apps_customize_pageLayoutHeightGap">-1dp</dimen> <dimen name="apps_customize_pageLayoutPaddingTop">5dp</dimen> diff --git a/res/values-port/dimens.xml b/res/values-port/dimens.xml index 799742f..b7e8170 100644 --- a/res/values-port/dimens.xml +++ b/res/values-port/dimens.xml @@ -31,8 +31,6 @@ <dimen name="workspace_page_spacing">-1dp</dimen> <!-- AppsCustomize --> - <integer name="apps_customize_cellCountX">4</integer> - <integer name="apps_customize_cellCountY">5</integer> <dimen name="apps_customize_pageLayoutWidthGap">-1dp</dimen> <dimen name="apps_customize_pageLayoutHeightGap">-1dp</dimen> <dimen name="apps_customize_pageLayoutPaddingTop">10dp</dimen> diff --git a/res/values-sw600dp-land/dimens.xml b/res/values-sw600dp-land/dimens.xml index 61d993e..f51f6f9 100644 --- a/res/values-sw600dp-land/dimens.xml +++ b/res/values-sw600dp-land/dimens.xml @@ -29,12 +29,12 @@ or right while you're dragging. --> <dimen name="scroll_zone">100dip</dimen> - <dimen name="apps_customize_pageLayoutWidthGap">28dp</dimen> + <dimen name="apps_customize_pageLayoutWidthGap">36dp</dimen> <dimen name="apps_customize_pageLayoutHeightGap">8dp</dimen> <dimen name="apps_customize_pageLayoutPaddingTop">20dp</dimen> <dimen name="apps_customize_pageLayoutPaddingBottom">14dp</dimen> - <dimen name="apps_customize_pageLayoutPaddingLeft">40dp</dimen> - <dimen name="apps_customize_pageLayoutPaddingRight">40dp</dimen> + <dimen name="apps_customize_pageLayoutPaddingLeft">30dp</dimen> + <dimen name="apps_customize_pageLayoutPaddingRight">30dp</dimen> <integer name="apps_customize_widget_cell_count_x">3</integer> <integer name="apps_customize_widget_cell_count_y">2</integer> </resources> diff --git a/res/values-sw600dp-port/dimens.xml b/res/values-sw600dp-port/dimens.xml index ebf837d..84f9835 100644 --- a/res/values-sw600dp-port/dimens.xml +++ b/res/values-sw600dp-port/dimens.xml @@ -36,8 +36,8 @@ <dimen name="apps_customize_pageLayoutHeightGap">36dp</dimen> <dimen name="apps_customize_pageLayoutPaddingTop">25dp</dimen> <dimen name="apps_customize_pageLayoutPaddingBottom">10dp</dimen> - <dimen name="apps_customize_pageLayoutPaddingLeft">10dp</dimen> - <dimen name="apps_customize_pageLayoutPaddingRight">10dp</dimen> + <dimen name="apps_customize_pageLayoutPaddingLeft">30dp</dimen> + <dimen name="apps_customize_pageLayoutPaddingRight">30dp</dimen> <integer name="apps_customize_widget_cell_count_x">2</integer> <integer name="apps_customize_widget_cell_count_y">3</integer> </resources>
\ No newline at end of file diff --git a/res/values-sw600dp/dimens.xml b/res/values-sw600dp/dimens.xml index 544b970..88f3bca 100644 --- a/res/values-sw600dp/dimens.xml +++ b/res/values-sw600dp/dimens.xml @@ -34,7 +34,7 @@ <!-- AppsCustomize --> <dimen name="apps_customize_tab_bar_height">56dp</dimen> <dimen name="apps_customize_cell_width">96dp</dimen> - <dimen name="apps_customize_cell_height">96dp</dimen> + <dimen name="apps_customize_cell_height">98dp</dimen> <dimen name="apps_customize_widget_cell_width_gap">36dp</dimen> <dimen name="apps_customize_widget_cell_height_gap">36dp</dimen> diff --git a/res/values-sw600dp/styles.xml b/res/values-sw600dp/styles.xml index b315763..ec281f9 100644 --- a/res/values-sw600dp/styles.xml +++ b/res/values-sw600dp/styles.xml @@ -60,7 +60,7 @@ <style name="WorkspaceIcon.Portrait.AppsCustomize"> <item name="android:background">@null</item> - <item name="android:paddingTop">4dp</item> + <item name="android:paddingTop">0dp</item> <item name="android:paddingBottom">0dp</item> <item name="android:paddingLeft">0dp</item> <item name="android:paddingRight">0dp</item> @@ -69,7 +69,7 @@ </style> <style name="WorkspaceIcon.Landscape.AppsCustomize"> <item name="android:background">@null</item> - <item name="android:paddingTop">4dp</item> + <item name="android:paddingTop">0dp</item> <item name="android:paddingBottom">0dp</item> <item name="android:drawablePadding">4dp</item> <item name="android:textSize">13sp</item> diff --git a/res/values-sw720dp-land/dimens.xml b/res/values-sw720dp-land/dimens.xml index 6a54265..239bdf5 100644 --- a/res/values-sw720dp-land/dimens.xml +++ b/res/values-sw720dp-land/dimens.xml @@ -17,4 +17,10 @@ <resources> <integer name="apps_customize_widget_cell_count_x">4</integer> <integer name="apps_customize_widget_cell_count_y">2</integer> + +<!-- AppsCustomize --> + <dimen name="apps_customize_pageLayoutWidthGap">28dp</dimen> + <dimen name="apps_customize_pageLayoutHeightGap">16dp</dimen> + <dimen name="apps_customize_pageLayoutPaddingLeft">16dp</dimen> + <dimen name="apps_customize_pageLayoutPaddingRight">16dp</dimen> </resources>
\ No newline at end of file diff --git a/res/values-sw720dp-port/dimens.xml b/res/values-sw720dp-port/dimens.xml index 22d56d9..2e3f8ef 100644 --- a/res/values-sw720dp-port/dimens.xml +++ b/res/values-sw720dp-port/dimens.xml @@ -17,7 +17,14 @@ <resources> <!-- We can also afford to have a slightly wider portrait layout in xlarge --> - <dimen name="apps_customize_pageLayoutWidthGap">36dp</dimen> <integer name="apps_customize_widget_cell_count_x">3</integer> <integer name="apps_customize_widget_cell_count_y">3</integer> + +<!-- AppsCustomize --> + <integer name="apps_customize_maxCellCountX">-1</integer> + <integer name="apps_customize_maxCellCountY">7</integer> + <dimen name="apps_customize_pageLayoutWidthGap">36dp</dimen> + <dimen name="apps_customize_pageLayoutHeightGap">36dp</dimen> + <dimen name="apps_customize_pageLayoutPaddingLeft">24dp</dimen> + <dimen name="apps_customize_pageLayoutPaddingRight">24dp</dimen> </resources>
\ No newline at end of file diff --git a/res/values-sw720dp/dimens.xml b/res/values-sw720dp/dimens.xml index 0373295..5c39b01 100644 --- a/res/values-sw720dp/dimens.xml +++ b/res/values-sw720dp/dimens.xml @@ -17,4 +17,8 @@ <resources> <dimen name="app_widget_preview_padding_left">0dp</dimen> <dimen name="app_widget_preview_padding_top">10dp</dimen> + +<!-- AppsCustomize --> + <integer name="apps_customize_maxCellCountX">-1</integer> + <integer name="apps_customize_maxCellCountY">-1</integer> </resources>
\ No newline at end of file diff --git a/res/values/attrs.xml b/res/values/attrs.xml index 800aeaa..730e831 100644 --- a/res/values/attrs.xml +++ b/res/values/attrs.xml @@ -101,10 +101,6 @@ <!-- PagedView specific attributes. These attributes are used to customize a PagedView view in XML files. --> <declare-styleable name="PagedView"> - <!-- The number of horizontal cells in a page --> - <attr name="cellCountX" /> - <!-- The number of vertical cells in a page --> - <attr name="cellCountY" /> <!-- A spacing override for the icons within a page --> <attr name="pageLayoutWidthGap" format="dimension" /> <attr name="pageLayoutHeightGap" format="dimension" /> @@ -123,6 +119,10 @@ <!-- AppsCustomizePagedView specific attributes. These attributes are used to customize an AppsCustomizePagedView in xml files. --> <declare-styleable name="AppsCustomizePagedView"> + <!-- Max number of cells of applications horizontally --> + <attr name="maxAppCellCountX" format="integer" /> + <!-- Max number of cells of applications vertically --> + <attr name="maxAppCellCountY" format="integer" /> <!-- Horizontal spacing between widgets and wallpapers --> <attr name="widgetCellWidthGap" format="dimension" /> <!-- Vertical spacing between widgets --> diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 967ef66..7c20d81 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -54,6 +54,8 @@ <dimen name="toolbar_external_icon_height">36dp</dimen> <!-- AllApps/Customize/AppsCustomize --> + <integer name="apps_customize_maxCellCountX">-1</integer> + <integer name="apps_customize_maxCellCountY">-1</integer> <!-- The height of the tab bar - if this changes, we should update the external icon width/height above to compensate --> <dimen name="apps_customize_tab_bar_height">52dp</dimen> diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java index 9000049..6667f7c 100644 --- a/src/com/android/launcher2/AppsCustomizePagedView.java +++ b/src/com/android/launcher2/AppsCustomizePagedView.java @@ -207,6 +207,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen // Dimens private int mContentWidth; private int mAppIconSize; + private int mMaxAppCellCountX, mMaxAppCellCountY; private int mWidgetCountX, mWidgetCountY; private int mWidgetWidthGap, mWidgetHeightGap; private final int mWidgetPreviewIconPaddedDimension; @@ -247,12 +248,9 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen mAppIconSize = resources.getDimensionPixelSize(R.dimen.app_icon_size); mDragViewMultiplyColor = resources.getColor(R.color.drag_view_multiply_color); - TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.PagedView, 0, 0); - // TODO-APPS_CUSTOMIZE: remove these unnecessary attrs after - mCellCountX = a.getInt(R.styleable.PagedView_cellCountX, 6); - mCellCountY = a.getInt(R.styleable.PagedView_cellCountY, 4); - a.recycle(); - a = context.obtainStyledAttributes(attrs, R.styleable.AppsCustomizePagedView, 0, 0); + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.AppsCustomizePagedView, 0, 0); + mMaxAppCellCountX = a.getInt(R.styleable.AppsCustomizePagedView_maxAppCellCountX, -1); + mMaxAppCellCountY = a.getInt(R.styleable.AppsCustomizePagedView_maxAppCellCountY, -1); mWidgetWidthGap = a.getDimensionPixelSize(R.styleable.AppsCustomizePagedView_widgetCellWidthGap, 0); mWidgetHeightGap = @@ -373,6 +371,12 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen maxCellCountY = (isLandscape ? LauncherModel.getCellCountY() : LauncherModel.getCellCountX()); } + if (mMaxAppCellCountX > -1) { + maxCellCountX = Math.min(maxCellCountX, mMaxAppCellCountX); + } + if (mMaxAppCellCountY > -1) { + maxCellCountY = Math.min(maxCellCountY, mMaxAppCellCountY); + } // Now that the data is ready, we can calculate the content width, the number of cells to // use for each page diff --git a/src/com/android/launcher2/PagedViewCellLayout.java b/src/com/android/launcher2/PagedViewCellLayout.java index 2ef7e29..6266ca2 100644 --- a/src/com/android/launcher2/PagedViewCellLayout.java +++ b/src/com/android/launcher2/PagedViewCellLayout.java @@ -69,7 +69,7 @@ public class PagedViewCellLayout extends ViewGroup implements Page { resources.getDimensionPixelSize(R.dimen.apps_customize_cell_height); mCellCountX = LauncherModel.getCellCountX(); mCellCountY = LauncherModel.getCellCountY(); - mOriginalHeightGap = mOriginalHeightGap = mWidthGap = mHeightGap = -1; + mOriginalWidthGap = mOriginalHeightGap = mWidthGap = mHeightGap = -1; mMaxGap = resources.getDimensionPixelSize(R.dimen.apps_customize_max_gap); mChildren = new PagedViewCellLayoutChildren(context); @@ -294,8 +294,8 @@ public class PagedViewCellLayout extends ViewGroup implements Page { } public void setGap(int widthGap, int heightGap) { - mWidthGap = widthGap; - mHeightGap = heightGap; + mOriginalWidthGap = mWidthGap = widthGap; + mOriginalHeightGap = mHeightGap = heightGap; mChildren.setGap(widthGap, heightGap); } @@ -325,10 +325,9 @@ public class PagedViewCellLayout extends ViewGroup implements Page { * Estimates the number of cells that the specified width would take up. */ public int estimateCellHSpan(int width) { - // The space for a page assuming that we want to show half of a column of the previous and - // next pages is the width - left padding (current & next page) - right padding (previous & - // current page) - half cell width (for previous and next pages) - int availWidth = (int) (width - (2 * mPaddingLeft + 2 * mPaddingRight)); + // We don't show the next/previous pages any more, so we use the full width, minus the + // padding + int availWidth = width - (mPaddingLeft + mPaddingRight); // We know that we have to fit N cells with N-1 width gaps, so we just juggle to solve for N int n = Math.max(1, (availWidth + mWidthGap) / (mCellWidth + mWidthGap)); |