diff options
-rw-r--r-- | res/layout-sw600dp/bookmarks_history.xml (renamed from res/layout-xlarge/bookmarks_history.xml) | 0 | ||||
-rw-r--r-- | res/layout-sw600dp/history.xml (renamed from res/layout-xlarge/history.xml) | 0 | ||||
-rw-r--r-- | res/layout/bookmark_grid_row.xml | 4 | ||||
-rw-r--r-- | res/layout/bookmarks.xml | 4 | ||||
-rw-r--r-- | res/values-sw600dp-port/dimensions.xml | 4 | ||||
-rw-r--r-- | res/values-sw600dp/dimensions.xml | 2 | ||||
-rw-r--r-- | res/values-sw600dp/styles.xml (renamed from res/values-xlarge/styles.xml) | 0 | ||||
-rw-r--r-- | res/values/dimensions.xml | 2 | ||||
-rw-r--r-- | res/values/integers.xml | 2 | ||||
-rw-r--r-- | src/com/android/browser/BrowserBookmarksAdapter.java | 6 | ||||
-rw-r--r-- | src/com/android/browser/BrowserBookmarksPage.java | 6 | ||||
-rw-r--r-- | src/com/android/browser/view/BookmarkExpandableGridView.java | 33 |
12 files changed, 31 insertions, 32 deletions
diff --git a/res/layout-xlarge/bookmarks_history.xml b/res/layout-sw600dp/bookmarks_history.xml index ae5e19b..ae5e19b 100644 --- a/res/layout-xlarge/bookmarks_history.xml +++ b/res/layout-sw600dp/bookmarks_history.xml diff --git a/res/layout-xlarge/history.xml b/res/layout-sw600dp/history.xml index 2d949e1..2d949e1 100644 --- a/res/layout-xlarge/history.xml +++ b/res/layout-sw600dp/history.xml diff --git a/res/layout/bookmark_grid_row.xml b/res/layout/bookmark_grid_row.xml index 5dc3a76..7955ad7 100644 --- a/res/layout/bookmark_grid_row.xml +++ b/res/layout/bookmark_grid_row.xml @@ -17,8 +17,6 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="match_parent" - android:paddingLeft="@dimen/combo_rowPadding" - android:paddingRight="@dimen/combo_rowPadding"> + android:layout_height="match_parent"> </LinearLayout> diff --git a/res/layout/bookmarks.xml b/res/layout/bookmarks.xml index bcabc03..4a13c6f 100644 --- a/res/layout/bookmarks.xml +++ b/res/layout/bookmarks.xml @@ -20,9 +20,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:paddingTop="@dimen/combo_paddingTop" - android:paddingLeft="@dimen/combo_paddingLeftRight" - android:paddingRight="@dimen/combo_paddingLeftRight"> + android:paddingTop="@dimen/combo_paddingTop"> <FrameLayout android:id="@+id/header_container" diff --git a/res/values-sw600dp-port/dimensions.xml b/res/values-sw600dp-port/dimensions.xml index 3ba38fe..682bbaf 100644 --- a/res/values-sw600dp-port/dimensions.xml +++ b/res/values-sw600dp-port/dimensions.xml @@ -14,7 +14,5 @@ <dimen name="widgetThumbnailHeight">84dip</dimen> <dimen name="widgetHorizontalSpacing">6dip</dimen> <dimen name="widgetVerticalSpacing">6dip</dimen> - <dimen name="combo_paddingLeftRight">16dip</dimen> - <dimen name="combo_horizontalSpacing">8dip</dimen> - <dimen name="combo_rowPadding">10dip</dimen> + <dimen name="combo_horizontalSpacing">4dip</dimen> </resources> diff --git a/res/values-sw600dp/dimensions.xml b/res/values-sw600dp/dimensions.xml index 82fc37e..977148b 100644 --- a/res/values-sw600dp/dimensions.xml +++ b/res/values-sw600dp/dimensions.xml @@ -25,9 +25,7 @@ <dimen name="mv_border_width">3dp</dimen> <!-- For the combined Bookmarks History view --> <dimen name="combo_paddingTop">50dip</dimen> - <dimen name="combo_paddingLeftRight">134dip</dimen> <dimen name="combo_horizontalSpacing">8dip</dimen> - <dimen name="combo_rowPadding">10dip</dimen> <dimen name="qc_radius_start">50dip</dimen> <dimen name="qc_radius_increment">70dip</dimen> <dimen name="qc_slop">15dip</dimen> diff --git a/res/values-xlarge/styles.xml b/res/values-sw600dp/styles.xml index 4951b2e..4951b2e 100644 --- a/res/values-xlarge/styles.xml +++ b/res/values-sw600dp/styles.xml diff --git a/res/values/dimensions.xml b/res/values/dimensions.xml index dbb0c60..950de5b 100644 --- a/res/values/dimensions.xml +++ b/res/values/dimensions.xml @@ -55,9 +55,7 @@ <dimen name="widgetVerticalSpacing">12dip</dimen> <!-- For the combined Bookmarks History view --> <dimen name="combo_paddingTop">10dip</dimen> - <dimen name="combo_paddingLeftRight">0dip</dimen> <dimen name="combo_horizontalSpacing">6dip</dimen> - <dimen name="combo_rowPadding">0dip</dimen> <dimen name="tab_view_thumbnail_height">76dip</dimen> <!-- Preference activity side margins --> <dimen name="preference_screen_side_margin">0dp</dimen> diff --git a/res/values/integers.xml b/res/values/integers.xml index ad0ed90..5a8c15f 100644 --- a/res/values/integers.xml +++ b/res/values/integers.xml @@ -27,4 +27,6 @@ <integer name="comboViewFadeInDuration">400</integer> <!-- fade between tabs duration --> <integer name="tabFadeDuration">300</integer> + <!-- The maximum number of columns in the bookmark grid view --> + <integer name="max_bookmark_columns">5</integer> </resources> diff --git a/src/com/android/browser/BrowserBookmarksAdapter.java b/src/com/android/browser/BrowserBookmarksAdapter.java index 7543528..16bcda5 100644 --- a/src/com/android/browser/BrowserBookmarksAdapter.java +++ b/src/com/android/browser/BrowserBookmarksAdapter.java @@ -52,6 +52,12 @@ public class BrowserBookmarksAdapter extends CursorAdapter { } void bindGridView(View view, Context context, Cursor cursor) { + // We need to set this to handle rotation and other configuration change + // events. If the padding didn't change, this is a no op. + int padding = context.getResources() + .getDimensionPixelSize(R.dimen.combo_horizontalSpacing); + view.setPadding(padding, view.getPaddingTop(), + padding, view.getPaddingBottom()); ImageView thumb = (ImageView) view.findViewById(R.id.thumb); TextView tv = (TextView) view.findViewById(R.id.label); diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java index f92272f..d871f22 100644 --- a/src/com/android/browser/BrowserBookmarksPage.java +++ b/src/com/android/browser/BrowserBookmarksPage.java @@ -556,13 +556,9 @@ public class BrowserBookmarksPage extends Fragment implements View.OnCreateConte public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); Resources res = getActivity().getResources(); - int horizontalSpacing = (int) res.getDimension(R.dimen.combo_horizontalSpacing); - mGrid.setHorizontalSpacing(horizontalSpacing); mGrid.setColumnWidthFromLayout(R.layout.bookmark_thumbnail); - int paddingLeftRight = (int) res.getDimension(R.dimen.combo_paddingLeftRight); int paddingTop = (int) res.getDimension(R.dimen.combo_paddingTop); - mRoot.setPadding(paddingLeftRight, paddingTop, - paddingLeftRight, 0); + mRoot.setPadding(0, paddingTop, 0, 0); getActivity().invalidateOptionsMenu(); } diff --git a/src/com/android/browser/view/BookmarkExpandableGridView.java b/src/com/android/browser/view/BookmarkExpandableGridView.java index f6b9f19..c8811d1 100644 --- a/src/com/android/browser/view/BookmarkExpandableGridView.java +++ b/src/com/android/browser/view/BookmarkExpandableGridView.java @@ -57,6 +57,7 @@ public class BookmarkExpandableGridView extends ExpandableListView private boolean mLongClickable; private BreadCrumbView.Controller mBreadcrumbController; private BookmarkDragHandler mDragHandler; + private int mMaxColumnCount; public BookmarkExpandableGridView(Context context) { super(context); @@ -78,14 +79,27 @@ public class BookmarkExpandableGridView extends ExpandableListView mContext = context; setItemsCanFocus(true); setLongClickable(false); + mMaxColumnCount = mContext.getResources() + .getInteger(R.integer.max_bookmark_columns); mAdapter = new BookmarkAccountAdapter(mContext); super.setAdapter(mAdapter); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int width = MeasureSpec.getSize(widthMeasureSpec); + int widthMode = MeasureSpec.getMode(widthMeasureSpec); + if (width > 0) { + mAdapter.measureChildren(width); + if (mAdapter.mRowPadding > 0) { + width -= mAdapter.mRowPadding * 2; + } + widthMeasureSpec = MeasureSpec.makeMeasureSpec(width, widthMode); + } super.onMeasure(widthMeasureSpec, heightMeasureSpec); - mAdapter.measureChildren(); + if (width != getMeasuredWidth()) { + mAdapter.measureChildren(getMeasuredWidth()); + } } @Override @@ -100,10 +114,6 @@ public class BookmarkExpandableGridView extends ExpandableListView mColumnWidth = v.getMeasuredWidth(); } - public void setHorizontalSpacing(int horizontalSpacing) { - // TODO Auto-generated method stub - } - public void clearAccounts() { mAdapter.clear(); } @@ -330,11 +340,6 @@ public class BookmarkExpandableGridView extends ExpandableListView convertView = mInflater.inflate(R.layout.bookmark_grid_row, parent, false); } LinearLayout row = (LinearLayout) convertView; - row.setPadding( - mRowPadding, - row.getPaddingTop(), - mRowPadding, - row.getPaddingBottom()); if (row.getChildCount() > mRowCount) { row.removeViews(mRowCount, row.getChildCount() - mRowCount); } @@ -387,13 +392,13 @@ public class BookmarkExpandableGridView extends ExpandableListView return mGroups.size(); } - public void measureChildren() { - int viewWidth = getMeasuredWidth(); + public void measureChildren(int viewWidth) { if (mLastViewWidth == viewWidth) return; - ViewGroup parent = (ViewGroup) mInflater.inflate(R.layout.bookmark_grid_row, null); - viewWidth -= parent.getPaddingLeft() + parent.getPaddingRight(); int rowCount = viewWidth / mColumnWidth; + if (mMaxColumnCount > 0) { + rowCount = Math.min(rowCount, mMaxColumnCount); + } int rowPadding = (viewWidth - (rowCount * mColumnWidth)) / 2; boolean notify = rowCount != mRowCount || rowPadding != mRowPadding; mRowCount = rowCount; |