summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjianli <jianli@chromium.org>2015-09-03 15:41:40 -0700
committerCommit bot <commit-bot@chromium.org>2015-09-03 22:42:12 +0000
commit63915168e35ff286df9c2f864ffd9d6a15e46eee (patch)
tree6b95b0e232686eaac0b69dc31104aea3a1178655
parentb68f5c2b1cf7fe850312b49804af3a14472aa021 (diff)
downloadchromium_src-63915168e35ff286df9c2f864ffd9d6a15e46eee.zip
chromium_src-63915168e35ff286df9c2f864ffd9d6a15e46eee.tar.gz
chromium_src-63915168e35ff286df9c2f864ffd9d6a15e46eee.tar.bz2
Add more vertical spacing between items in Saved offline view
BUG=491352 Review URL: https://codereview.chromium.org/1306313009 Cr-Commit-Position: refs/heads/master@{#347272}
-rw-r--r--chrome/android/java/res/values/dimens.xml3
-rw-r--r--chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkRecyclerView.java41
2 files changed, 44 insertions, 0 deletions
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml
index d86dfc4..abc1c6d 100644
--- a/chrome/android/java/res/values/dimens.xml
+++ b/chrome/android/java/res/values/dimens.xml
@@ -294,4 +294,7 @@
<!-- The media_session_icon_size is just big enough to make sure Android doesn't discard the
icon but otherwise, the icon is meant to be a flat color so it doesn't really matter. -->
<dimen name="media_session_icon_size">48dp</dimen>
+
+ <!-- Offline pages dimensions -->
+ <dimen name="offline_page_item_vertical_spacing">40dp</dimen>
</resources>
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkRecyclerView.java b/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkRecyclerView.java
index 5631536..edadd53 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkRecyclerView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkRecyclerView.java
@@ -5,6 +5,7 @@
package org.chromium.chrome.browser.enhancedbookmarks;
import android.content.Context;
+import android.graphics.Rect;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
@@ -12,6 +13,7 @@ import android.view.View;
import android.widget.Checkable;
import org.chromium.base.VisibleForTesting;
+import org.chromium.chrome.R;
import org.chromium.components.bookmarks.BookmarkId;
import java.util.List;
@@ -24,6 +26,24 @@ public class EnhancedBookmarkRecyclerView extends RecyclerView implements
private EnhancedBookmarkDelegate mDelegate;
private View mEmptyView;
+ private RecyclerView.ItemDecoration mVerticalSpaceItemDecoration;
+
+ /**
+ * Provides a way to override the default spacing between 2 items in RecyclerView.
+ */
+ private static class VerticalSpaceItemDecoration extends RecyclerView.ItemDecoration {
+ private final int mSpacing;
+
+ public VerticalSpaceItemDecoration(int spacing) {
+ this.mSpacing = spacing;
+ }
+
+ @Override
+ public void getItemOffsets(Rect outRect, View view, RecyclerView parent,
+ RecyclerView.State state) {
+ outRect.bottom = mSpacing;
+ }
+ }
/**
* Constructs a new instance of enhanced bookmark recycler view.
@@ -103,16 +123,37 @@ public class EnhancedBookmarkRecyclerView extends RecyclerView implements
@Override
public void onAllBookmarksStateSet() {
scrollToPosition(0);
+
+ // Restores to the default vertical spacing.
+ if (mVerticalSpaceItemDecoration != null) {
+ removeItemDecoration(mVerticalSpaceItemDecoration);
+ mVerticalSpaceItemDecoration = null;
+ }
}
@Override
public void onFolderStateSet(BookmarkId folder) {
scrollToPosition(0);
+
+ // Restores to the default vertical spacing.
+ if (mVerticalSpaceItemDecoration != null) {
+ removeItemDecoration(mVerticalSpaceItemDecoration);
+ mVerticalSpaceItemDecoration = null;
+ }
}
@Override
public void onFilterStateSet(EnhancedBookmarkFilter filter) {
+ assert filter == EnhancedBookmarkFilter.OFFLINE_PAGES;
scrollToPosition(0);
+
+ // For "Saved offline" filter view, more spacing is needed between 2 items since the added
+ // line to show offline page size eats up the default spacing.
+ if (mVerticalSpaceItemDecoration == null) {
+ mVerticalSpaceItemDecoration =
+ new VerticalSpaceItemDecoration(R.dimen.offline_page_item_vertical_spacing);
+ addItemDecoration(mVerticalSpaceItemDecoration);
+ }
}
@Override