package androidx.recyclerview.widget; import androidx.recyclerview.widget.AdapterHelper; import java.util.List; /* loaded from: classes2.dex */ class OpReorderer { final Callback mCallback; /* JADX INFO: Access modifiers changed from: package-private */ /* loaded from: classes2.dex */ public interface Callback { AdapterHelper.UpdateOp obtainUpdateOp(int i, int i2, int i3, Object obj); void recycleUpdateOp(AdapterHelper.UpdateOp updateOp); } /* JADX INFO: Access modifiers changed from: package-private */ public OpReorderer(Callback callback) { this.mCallback = callback; } /* JADX INFO: Access modifiers changed from: package-private */ public void reorderOps(List list) { while (true) { int lastMoveOutOfOrder = getLastMoveOutOfOrder(list); if (lastMoveOutOfOrder == -1) { return; } else { swapMoveOp(list, lastMoveOutOfOrder, lastMoveOutOfOrder + 1); } } } private void swapMoveOp(List list, int i, int i2) { AdapterHelper.UpdateOp updateOp = list.get(i); AdapterHelper.UpdateOp updateOp2 = list.get(i2); int i3 = updateOp2.cmd; if (i3 == 1) { swapMoveAdd(list, i, updateOp, i2, updateOp2); } else if (i3 == 2) { swapMoveRemove(list, i, updateOp, i2, updateOp2); } else { if (i3 != 4) { return; } swapMoveUpdate(list, i, updateOp, i2, updateOp2); } } void swapMoveRemove(List list, int i, AdapterHelper.UpdateOp updateOp, int i2, AdapterHelper.UpdateOp updateOp2) { boolean z; boolean z2 = false; if (updateOp.positionStart < updateOp.itemCount) { if (updateOp2.positionStart == updateOp.positionStart && updateOp2.itemCount == updateOp.itemCount - updateOp.positionStart) { z = false; z2 = true; } else { z = false; } } else if (updateOp2.positionStart == updateOp.itemCount + 1 && updateOp2.itemCount == updateOp.positionStart - updateOp.itemCount) { z = true; z2 = true; } else { z = true; } if (updateOp.itemCount < updateOp2.positionStart) { updateOp2.positionStart--; } else if (updateOp.itemCount < updateOp2.positionStart + updateOp2.itemCount) { updateOp2.itemCount--; updateOp.cmd = 2; updateOp.itemCount = 1; if (updateOp2.itemCount == 0) { list.remove(i2); this.mCallback.recycleUpdateOp(updateOp2); return; } return; } AdapterHelper.UpdateOp updateOp3 = null; if (updateOp.positionStart <= updateOp2.positionStart) { updateOp2.positionStart++; } else if (updateOp.positionStart < updateOp2.positionStart + updateOp2.itemCount) { updateOp3 = this.mCallback.obtainUpdateOp(2, updateOp.positionStart + 1, (updateOp2.positionStart + updateOp2.itemCount) - updateOp.positionStart, null); updateOp2.itemCount = updateOp.positionStart - updateOp2.positionStart; } if (z2) { list.set(i, updateOp2); list.remove(i2); this.mCallback.recycleUpdateOp(updateOp); return; } if (z) { if (updateOp3 != null) { if (updateOp.positionStart > updateOp3.positionStart) { updateOp.positionStart -= updateOp3.itemCount; } if (updateOp.itemCount > updateOp3.positionStart) { updateOp.itemCount -= updateOp3.itemCount; } } if (updateOp.positionStart > updateOp2.positionStart) { updateOp.positionStart -= updateOp2.itemCount; } if (updateOp.itemCount > updateOp2.positionStart) { updateOp.itemCount -= updateOp2.itemCount; } } else { if (updateOp3 != null) { if (updateOp.positionStart >= updateOp3.positionStart) { updateOp.positionStart -= updateOp3.itemCount; } if (updateOp.itemCount >= updateOp3.positionStart) { updateOp.itemCount -= updateOp3.itemCount; } } if (updateOp.positionStart >= updateOp2.positionStart) { updateOp.positionStart -= updateOp2.itemCount; } if (updateOp.itemCount >= updateOp2.positionStart) { updateOp.itemCount -= updateOp2.itemCount; } } list.set(i, updateOp2); if (updateOp.positionStart != updateOp.itemCount) { list.set(i2, updateOp); } else { list.remove(i2); } if (updateOp3 != null) { list.add(i, updateOp3); } } private void swapMoveAdd(List list, int i, AdapterHelper.UpdateOp updateOp, int i2, AdapterHelper.UpdateOp updateOp2) { int i3 = updateOp.itemCount < updateOp2.positionStart ? -1 : 0; if (updateOp.positionStart < updateOp2.positionStart) { i3++; } if (updateOp2.positionStart <= updateOp.positionStart) { updateOp.positionStart += updateOp2.itemCount; } if (updateOp2.positionStart <= updateOp.itemCount) { updateOp.itemCount += updateOp2.itemCount; } updateOp2.positionStart += i3; list.set(i, updateOp2); list.set(i2, updateOp); } /* JADX WARN: Removed duplicated region for block: B:10:0x005d */ /* JADX WARN: Removed duplicated region for block: B:12:0x006b */ /* JADX WARN: Removed duplicated region for block: B:14:0x0070 */ /* JADX WARN: Removed duplicated region for block: B:17:? A[RETURN, SYNTHETIC] */ /* JADX WARN: Removed duplicated region for block: B:18:0x0061 */ /* JADX WARN: Removed duplicated region for block: B:19:0x0035 */ /* JADX WARN: Removed duplicated region for block: B:7:0x002f */ /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct add '--show-bad-code' argument */ void swapMoveUpdate(java.util.List r8, int r9, androidx.recyclerview.widget.AdapterHelper.UpdateOp r10, int r11, androidx.recyclerview.widget.AdapterHelper.UpdateOp r12) { /* r7 = this; int r0 = r10.itemCount int r1 = r12.positionStart r2 = 4 r3 = 1 r4 = 0 if (r0 >= r1) goto Lf int r0 = r12.positionStart int r0 = r0 - r3 r12.positionStart = r0 goto L28 Lf: int r0 = r10.itemCount int r1 = r12.positionStart int r5 = r12.itemCount int r1 = r1 + r5 if (r0 >= r1) goto L28 int r0 = r12.itemCount int r0 = r0 - r3 r12.itemCount = r0 androidx.recyclerview.widget.OpReorderer$Callback r0 = r7.mCallback int r1 = r10.positionStart java.lang.Object r5 = r12.payload androidx.recyclerview.widget.AdapterHelper$UpdateOp r0 = r0.obtainUpdateOp(r2, r1, r3, r5) goto L29 L28: r0 = r4 L29: int r1 = r10.positionStart int r5 = r12.positionStart if (r1 > r5) goto L35 int r1 = r12.positionStart int r1 = r1 + r3 r12.positionStart = r1 goto L56 L35: int r1 = r10.positionStart int r5 = r12.positionStart int r6 = r12.itemCount int r5 = r5 + r6 if (r1 >= r5) goto L56 int r1 = r12.positionStart int r4 = r12.itemCount int r1 = r1 + r4 int r4 = r10.positionStart int r1 = r1 - r4 androidx.recyclerview.widget.OpReorderer$Callback r4 = r7.mCallback int r5 = r10.positionStart int r5 = r5 + r3 java.lang.Object r3 = r12.payload androidx.recyclerview.widget.AdapterHelper$UpdateOp r4 = r4.obtainUpdateOp(r2, r5, r1, r3) int r2 = r12.itemCount int r2 = r2 - r1 r12.itemCount = r2 L56: r8.set(r11, r10) int r10 = r12.itemCount if (r10 <= 0) goto L61 r8.set(r9, r12) goto L69 L61: r8.remove(r9) androidx.recyclerview.widget.OpReorderer$Callback r7 = r7.mCallback r7.recycleUpdateOp(r12) L69: if (r0 == 0) goto L6e r8.add(r9, r0) L6e: if (r4 == 0) goto L73 r8.add(r9, r4) L73: return */ throw new UnsupportedOperationException("Method not decompiled: androidx.recyclerview.widget.OpReorderer.swapMoveUpdate(java.util.List, int, androidx.recyclerview.widget.AdapterHelper$UpdateOp, int, androidx.recyclerview.widget.AdapterHelper$UpdateOp):void"); } private int getLastMoveOutOfOrder(List list) { boolean z = false; for (int size = list.size() - 1; size >= 0; size--) { if (list.get(size).cmd != 8) { z = true; } else if (z) { return size; } } return -1; } }