Bug 1385988 - HighlightsDividerItemDecoration: Use adapter position and not current position in parent view. r?mcomella draft
authorSebastian Kaspari <s.kaspari@gmail.com>
Fri, 08 Sep 2017 17:08:05 +0200
changeset 661495 51507b36b5c919bd9c2e5cd54fc45a4cb3b9ffaa
parent 661321 50857982881ae7803ceb438fee90650a282f7f05
child 730592 b6b22ba01da1c8adc76ba2e59392c952c42377a1
push id78782
push users.kaspari@gmail.com
push dateFri, 08 Sep 2017 15:09:05 +0000
reviewersmcomella
bugs1385988
milestone57.0a1
Bug 1385988 - HighlightsDividerItemDecoration: Use adapter position and not current position in parent view. r?mcomella MozReview-Commit-ID: Ih6USplyBTb
mobile/android/base/java/org/mozilla/gecko/activitystream/homepanel/HighlightsDividerItemDecoration.java
--- 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);
         }
     }