Bug 1385988 - HighlightsDividerItemDecoration: Use adapter position and not current position in parent view. r?mcomella
MozReview-Commit-ID: Ih6USplyBTb
--- a/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/HighlightsDividerItemDecoration.java
+++ b/mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/HighlightsDividerItemDecoration.java
@@ -32,21 +32,27 @@ import android.view.View;
}
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
final int left = parent.getPaddingLeft();
final int right = parent.getWidth() - parent.getPaddingRight();
final int childCount = parent.getChildCount();
- for (int i = START_DRAWING_AT_POSITION; i < childCount; i++) {
+ for (int i = 0; i < childCount; i++) {
final View child = parent.getChildAt(i);
+
+ if (parent.getChildAdapterPosition(child) < START_DRAWING_AT_POSITION) {
+ continue;
+ }
+
if (child.getVisibility() == View.GONE) {
continue;
}
+
final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child
.getLayoutParams();
final int top = child.getBottom() + params.bottomMargin;
final int bottom = top + divider.getIntrinsicHeight();
divider.setBounds(left, top, right, bottom);
divider.draw(c);
}
}