private void dispatchAndUpdateViewHolders(UpdateOp paramUpdateOp) { if ((paramUpdateOp.cmd == 1) || (paramUpdateOp.cmd == 8)) { throw new IllegalArgumentException("should not dispatch add or move for pre layout"); } int i = updatePositionWithPostponed(paramUpdateOp.positionStart, paramUpdateOp.cmd); int j = 1; int k = paramUpdateOp.positionStart; int m; int n; label110: int i1; int i3; switch (paramUpdateOp.cmd) { case 3: default: throw new IllegalArgumentException("op should be remove or update." + paramUpdateOp); case 4: m = 1; n = 1; if (n >= paramUpdateOp.itemCount) { break label286; } i1 = updatePositionWithPostponed(paramUpdateOp.positionStart + m * n, paramUpdateOp.cmd); int i2 = paramUpdateOp.cmd; i3 = 0; switch (i2) { case 3: default: if (i3 != 0) { j++; } break; } break; } for (;;) { n++; break label110; m = 0; break; if (i1 == i + 1) {} for (i3 = 1;; i3 = 0) { break; } if (i1 == i) {} for (i3 = 1;; i3 = 0) { break; } UpdateOp localUpdateOp2 = obtainUpdateOp(paramUpdateOp.cmd, i, j, paramUpdateOp.payload); dispatchFirstPassAndUpdateViewHolders(localUpdateOp2, k); recycleUpdateOp(localUpdateOp2); if (paramUpdateOp.cmd == 4) { k += j; } i = i1; j = 1; } label286: Object localObject = paramUpdateOp.payload; recycleUpdateOp(paramUpdateOp); if (j > 0) { UpdateOp localUpdateOp1 = obtainUpdateOp(paramUpdateOp.cmd, i, j, localObject); dispatchFirstPassAndUpdateViewHolders(localUpdateOp1, k); recycleUpdateOp(localUpdateOp1); } }