CrackMe.apk

Download file
    package androidx.recyclerview.widget;

import androidx.recyclerview.widget.AdapterHelper;
import java.util.List;

class OpReorderer {
    final Callback mCallback;

    interface Callback {
        AdapterHelper.UpdateOp obtainUpdateOp(int i, int i2, int i3, Object obj);

        void recycleUpdateOp(AdapterHelper.UpdateOp updateOp);
    }

    OpReorderer(Callback callback) {
        this.mCallback = callback;
    }

    /* access modifiers changed from: package-private */
    public void reorderOps(List<AdapterHelper.UpdateOp> list) {
        while (true) {
            int lastMoveOutOfOrder = getLastMoveOutOfOrder(list);
            if (lastMoveOutOfOrder != -1) {
                swapMoveOp(list, lastMoveOutOfOrder, lastMoveOutOfOrder + 1);
            } else {
                return;
            }
        }
    }

    private void swapMoveOp(List<AdapterHelper.UpdateOp> 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) {
            swapMoveUpdate(list, i, updateOp, i2, updateOp2);
        }
    }

    /* access modifiers changed from: package-private */
    /* JADX WARNING: Removed duplicated region for block: B:17:0x0036  */
    /* JADX WARNING: Removed duplicated region for block: B:18:0x003c  */
    /* JADX WARNING: Removed duplicated region for block: B:25:0x0062  */
    /* JADX WARNING: Removed duplicated region for block: B:26:0x0068  */
    /* JADX WARNING: Removed duplicated region for block: B:30:0x008b  */
    /* JADX WARNING: Removed duplicated region for block: B:32:0x0097  */
    /* Code decompiled incorrectly, please refer to instructions dump. */
    public void swapMoveRemove(java.util.List<androidx.recyclerview.widget.AdapterHelper.UpdateOp> r9, int r10, androidx.recyclerview.widget.AdapterHelper.UpdateOp r11, int r12, androidx.recyclerview.widget.AdapterHelper.UpdateOp r13) {
        /*
            r8 = this;
            int r0 = r11.positionStart
            int r1 = r11.itemCount
            r2 = 0
            r3 = 1
            if (r0 >= r1) goto L_0x001b
            int r0 = r13.positionStart
            int r1 = r11.positionStart
            if (r0 != r1) goto L_0x0019
            int r0 = r13.itemCount
            int r1 = r11.itemCount
            int r4 = r11.positionStart
            int r1 = r1 - r4
            if (r0 != r1) goto L_0x0019
            r0 = 0
            goto L_0x002c
        L_0x0019:
            r0 = 0
            goto L_0x002f
        L_0x001b:
            int r0 = r13.positionStart
            int r1 = r11.itemCount
            int r1 = r1 + r3
            if (r0 != r1) goto L_0x002e
            int r0 = r13.itemCount
            int r1 = r11.positionStart
            int r4 = r11.itemCount
            int r1 = r1 - r4
            if (r0 != r1) goto L_0x002e
            r0 = 1
        L_0x002c:
            r2 = 1
            goto L_0x002f
        L_0x002e:
            r0 = 1
        L_0x002f:
            int r1 = r11.itemCount
            int r4 = r13.positionStart
            r5 = 2
            if (r1 >= r4) goto L_0x003c
            int r1 = r13.positionStart
            int r1 = r1 - r3
            r13.positionStart = r1
            goto L_0x005b
        L_0x003c:
            int r1 = r11.itemCount
            int r4 = r13.positionStart
            int r6 = r13.itemCount
            int r4 = r4 + r6
            if (r1 >= r4) goto L_0x005b
            int r10 = r13.itemCount
            int r10 = r10 - r3
            r13.itemCount = r10
            r11.cmd = r5
            r11.itemCount = r3
            int r10 = r13.itemCount
            if (r10 != 0) goto L_0x005a
            r9.remove(r12)
            androidx.recyclerview.widget.OpReorderer$Callback r9 = r8.mCallback
            r9.recycleUpdateOp(r13)
        L_0x005a:
            return
        L_0x005b:
            int r1 = r11.positionStart
            int r4 = r13.positionStart
            r6 = 0
            if (r1 > r4) goto L_0x0068
            int r1 = r13.positionStart
            int r1 = r1 + r3
            r13.positionStart = r1
            goto L_0x0089
        L_0x0068:
            int r1 = r11.positionStart
            int r4 = r13.positionStart
            int r7 = r13.itemCount
            int r4 = r4 + r7
            if (r1 >= r4) goto L_0x0089
            int r1 = r13.positionStart
            int r4 = r13.itemCount
            int r1 = r1 + r4
            int r4 = r11.positionStart
            int r1 = r1 - r4
            androidx.recyclerview.widget.OpReorderer$Callback r4 = r8.mCallback
            int r7 = r11.positionStart
            int r7 = r7 + r3
            androidx.recyclerview.widget.AdapterHelper$UpdateOp r6 = r4.obtainUpdateOp(r5, r7, r1, r6)
            int r1 = r11.positionStart
            int r3 = r13.positionStart
            int r1 = r1 - r3
            r13.itemCount = r1
        L_0x0089:
            if (r2 == 0) goto L_0x0097
            r9.set(r10, r13)
            r9.remove(r12)
            androidx.recyclerview.widget.OpReorderer$Callback r9 = r8.mCallback
            r9.recycleUpdateOp(r11)
            return
        L_0x0097:
            if (r0 == 0) goto L_0x00d0
            if (r6 == 0) goto L_0x00b5
            int r0 = r11.positionStart
            int r1 = r6.positionStart
            if (r0 <= r1) goto L_0x00a8
            int r0 = r11.positionStart
            int r1 = r6.itemCount
            int r0 = r0 - r1
            r11.positionStart = r0
        L_0x00a8:
            int r0 = r11.itemCount
            int r1 = r6.positionStart
            if (r0 <= r1) goto L_0x00b5
            int r0 = r11.itemCount
            int r1 = r6.itemCount
            int r0 = r0 - r1
            r11.itemCount = r0
        L_0x00b5:
            int r0 = r11.positionStart
            int r1 = r13.positionStart
            if (r0 <= r1) goto L_0x00c2
            int r0 = r11.positionStart
            int r1 = r13.itemCount
            int r0 = r0 - r1
            r11.positionStart = r0
        L_0x00c2:
            int r0 = r11.itemCount
            int r1 = r13.positionStart
            if (r0 <= r1) goto L_0x0106
            int r0 = r11.itemCount
            int r1 = r13.itemCount
            int r0 = r0 - r1
            r11.itemCount = r0
            goto L_0x0106
        L_0x00d0:
            if (r6 == 0) goto L_0x00ec
            int r0 = r11.positionStart
            int r1 = r6.positionStart
            if (r0 < r1) goto L_0x00df
            int r0 = r11.positionStart
            int r1 = r6.itemCount
            int r0 = r0 - r1
            r11.positionStart = r0
        L_0x00df:
            int r0 = r11.itemCount
            int r1 = r6.positionStart
            if (r0 < r1) goto L_0x00ec
            int r0 = r11.itemCount
            int r1 = r6.itemCount
            int r0 = r0 - r1
            r11.itemCount = r0
        L_0x00ec:
            int r0 = r11.positionStart
            int r1 = r13.positionStart
            if (r0 < r1) goto L_0x00f9
            int r0 = r11.positionStart
            int r1 = r13.itemCount
            int r0 = r0 - r1
            r11.positionStart = r0
        L_0x00f9:
            int r0 = r11.itemCount
            int r1 = r13.positionStart
            if (r0 < r1) goto L_0x0106
            int r0 = r11.itemCount
            int r1 = r13.itemCount
            int r0 = r0 - r1
            r11.itemCount = r0
        L_0x0106:
            r9.set(r10, r13)
            int r13 = r11.positionStart
            int r0 = r11.itemCount
            if (r13 == r0) goto L_0x0113
            r9.set(r12, r11)
            goto L_0x0116
        L_0x0113:
            r9.remove(r12)
        L_0x0116:
            if (r6 == 0) goto L_0x011b
            r9.add(r10, r6)
        L_0x011b:
            return
        */
        throw new UnsupportedOperationException("Method not decompiled: androidx.recyclerview.widget.OpReorderer.swapMoveRemove(java.util.List, int, androidx.recyclerview.widget.AdapterHelper$UpdateOp, int, androidx.recyclerview.widget.AdapterHelper$UpdateOp):void");
    }

    private void swapMoveAdd(List<AdapterHelper.UpdateOp> 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);
    }

    /* access modifiers changed from: package-private */
    /* JADX WARNING: Removed duplicated region for block: B:10:0x0035  */
    /* JADX WARNING: Removed duplicated region for block: B:15:0x005d  */
    /* JADX WARNING: Removed duplicated region for block: B:16:0x0061  */
    /* JADX WARNING: Removed duplicated region for block: B:18:0x006b  */
    /* JADX WARNING: Removed duplicated region for block: B:20:0x0070  */
    /* JADX WARNING: Removed duplicated region for block: B:22:? A[RETURN, SYNTHETIC] */
    /* JADX WARNING: Removed duplicated region for block: B:9:0x002f  */
    /* Code decompiled incorrectly, please refer to instructions dump. */
    public void swapMoveUpdate(java.util.List<androidx.recyclerview.widget.AdapterHelper.UpdateOp> 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 = 0
            r4 = 1
            if (r0 >= r1) goto L_0x000f
            int r0 = r12.positionStart
            int r0 = r0 - r4
            r12.positionStart = r0
            goto L_0x0028
        L_0x000f:
            int r0 = r10.itemCount
            int r1 = r12.positionStart
            int r5 = r12.itemCount
            int r1 = r1 + r5
            if (r0 >= r1) goto L_0x0028
            int r0 = r12.itemCount
            int r0 = r0 - r4
            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, r4, r5)
            goto L_0x0029
        L_0x0028:
            r0 = r3
        L_0x0029:
            int r1 = r10.positionStart
            int r5 = r12.positionStart
            if (r1 > r5) goto L_0x0035
            int r1 = r12.positionStart
            int r1 = r1 + r4
            r12.positionStart = r1
            goto L_0x0056
        L_0x0035:
            int r1 = r10.positionStart
            int r5 = r12.positionStart
            int r6 = r12.itemCount
            int r5 = r5 + r6
            if (r1 >= r5) goto L_0x0056
            int r1 = r12.positionStart
            int r3 = r12.itemCount
            int r1 = r1 + r3
            int r3 = r10.positionStart
            int r1 = r1 - r3
            androidx.recyclerview.widget.OpReorderer$Callback r3 = r7.mCallback
            int r5 = r10.positionStart
            int r5 = r5 + r4
            java.lang.Object r4 = r12.payload
            androidx.recyclerview.widget.AdapterHelper$UpdateOp r3 = r3.obtainUpdateOp(r2, r5, r1, r4)
            int r2 = r12.itemCount
            int r2 = r2 - r1
            r12.itemCount = r2
        L_0x0056:
            r8.set(r11, r10)
            int r10 = r12.itemCount
            if (r10 <= 0) goto L_0x0061
            r8.set(r9, r12)
            goto L_0x0069
        L_0x0061:
            r8.remove(r9)
            androidx.recyclerview.widget.OpReorderer$Callback r10 = r7.mCallback
            r10.recycleUpdateOp(r12)
        L_0x0069:
            if (r0 == 0) goto L_0x006e
            r8.add(r9, r0)
        L_0x006e:
            if (r3 == 0) goto L_0x0073
            r8.add(r9, r3)
        L_0x0073:
            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<AdapterHelper.UpdateOp> 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;
    }
}
    
Download file