Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1412)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/history/HistoryItemView.java

Issue 2654193002: [Android History] List item shadows and width constrained styling (Closed)
Patch Set: Changes from dgn@ and dfalcantara@ reviews Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/history/HistoryItemView.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryItemView.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryItemView.java
index bccddaa565b56bd880473635e32cbe44c78cc218..a2df59d37cc74eaa70f46f0c13c1737f8ce18908 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryItemView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryItemView.java
@@ -21,6 +21,7 @@ import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback;
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.widget.RoundedIconGenerator;
import org.chromium.chrome.browser.widget.TintedImageButton;
+import org.chromium.chrome.browser.widget.displaystyle.MarginResizer;
import org.chromium.chrome.browser.widget.selection.SelectableItemView;
/**
@@ -32,6 +33,7 @@ public class HistoryItemView extends SelectableItemView<HistoryItem> implements
private TintedImageButton mRemoveButton;
private ImageView mIconImageView;
private VectorDrawableCompat mBlockedVisitDrawable;
+ private View mContentView;
private HistoryManager mHistoryManager;
private final RoundedIconGenerator mIconGenerator;
@@ -39,6 +41,7 @@ public class HistoryItemView extends SelectableItemView<HistoryItem> implements
private final int mMinIconSize;
private final int mDisplayedIconSize;
private final int mCornerRadius;
+ private final int mEndPadding;
private boolean mRemoveButtonVisible;
@@ -53,6 +56,8 @@ public class HistoryItemView extends SelectableItemView<HistoryItem> implements
getResources(), R.color.default_favicon_background_color);
mIconGenerator = new RoundedIconGenerator(mDisplayedIconSize , mDisplayedIconSize,
mCornerRadius, iconColor, textSize);
+ mEndPadding = context.getResources().getDimensionPixelSize(
+ R.dimen.selectable_list_layout_row_end_padding);
}
@Override
@@ -61,6 +66,7 @@ public class HistoryItemView extends SelectableItemView<HistoryItem> implements
mTitle = (TextView) findViewById(R.id.title);
mDomain = (TextView) findViewById(R.id.domain);
mIconImageView = (ImageView) findViewById(R.id.icon_view);
+ mContentView = findViewById(R.id.content);
mRemoveButton = (TintedImageButton) findViewById(R.id.remove);
mRemoveButton.setOnClickListener(new OnClickListener() {
@Override
@@ -97,6 +103,8 @@ public class HistoryItemView extends SelectableItemView<HistoryItem> implements
mTitle.setTextColor(
ApiCompatibilityUtils.getColor(getResources(), R.color.default_text_color));
}
+
+ setBackgroundResourceForGroupPosition();
}
/**
@@ -108,6 +116,10 @@ public class HistoryItemView extends SelectableItemView<HistoryItem> implements
mHistoryManager = manager;
if (!getItem().wasBlockedVisit()) requestIcon();
+
+ MarginResizer.createWithViewAdapter(this,
+ mHistoryManager.getSelectableListLayout().getUiConfig(),
+ mHistoryManager.getDefaultLateralListItemMarginPx(), 0);
}
/**
@@ -164,8 +176,35 @@ public class HistoryItemView extends SelectableItemView<HistoryItem> implements
}
private void updateRemoveButtonVisibility() {
- mRemoveButton.setVisibility(
- !PrefServiceBridge.getInstance().canDeleteBrowsingHistory() ? View.GONE :
- mRemoveButtonVisible ? View.VISIBLE : View.INVISIBLE);
+ int removeButtonVisibility =
+ !PrefServiceBridge.getInstance().canDeleteBrowsingHistory() ? View.GONE
+ : mRemoveButtonVisible ? View.VISIBLE : View.INVISIBLE;
+ mRemoveButton.setVisibility(removeButtonVisibility);
+
+ int endPadding = removeButtonVisibility == View.GONE ? mEndPadding : 0;
+ ApiCompatibilityUtils.setPaddingRelative(mContentView,
+ ApiCompatibilityUtils.getPaddingStart(mContentView),
+ mContentView.getPaddingTop(), endPadding, mContentView.getPaddingBottom());
+ }
+
+ /**
+ * Sets the background resource for this view using the item's positioning in its group.
+ */
+ public void setBackgroundResourceForGroupPosition() {
+ int backgroundResource;
+
+ boolean isLastInGroup = getItem().isLastInGroup();
+ boolean isFirstInGroup = getItem().isFirstInGroup();
+ if (!isLastInGroup && !isFirstInGroup) {
+ backgroundResource = R.drawable.list_item_middle;
+ } else if (!isLastInGroup) {
+ backgroundResource = R.drawable.list_item_top;
+ } else if (!isFirstInGroup) {
+ backgroundResource = R.drawable.list_item_bottom;
+ } else {
+ backgroundResource = R.drawable.list_item_single;
+ }
+
+ setBackgroundResource(backgroundResource);
}
}

Powered by Google App Engine
This is Rietveld 408576698