package com.android.org.conscrypt;

import java.nio.ByteBuffer;

/* JADX INFO: loaded from: classes.dex */
public final class BufferUtils {
    private BufferUtils() {
    }

    public static void checkNotNull(ByteBuffer[] byteBufferArr) {
        for (ByteBuffer byteBuffer : byteBufferArr) {
            if (byteBuffer == null) {
                throw new IllegalArgumentException("Null buffer in array");
            }
        }
    }

    public static void consume(ByteBuffer[] byteBufferArr, int i3) {
        for (ByteBuffer byteBuffer : byteBufferArr) {
            int iMin = Math.min(byteBuffer.remaining(), i3);
            if (iMin > 0) {
                byteBuffer.position(byteBuffer.position() + iMin);
                i3 -= iMin;
                if (i3 == 0) {
                    break;
                }
            }
        }
        if (i3 > 0) {
            throw new IllegalArgumentException("toConsume > data size");
        }
    }

    public static ByteBuffer copyNoConsume(ByteBuffer[] byteBufferArr, ByteBuffer byteBuffer, int i3) {
        Preconditions.checkArgument(byteBuffer.remaining() >= i3, "Destination buffer too small");
        for (ByteBuffer byteBuffer2 : byteBufferArr) {
            int iRemaining = byteBuffer2.remaining();
            if (iRemaining > 0) {
                int iPosition = byteBuffer2.position();
                if (iRemaining <= i3) {
                    byteBuffer.put(byteBuffer2);
                    i3 -= iRemaining;
                } else {
                    int iLimit = byteBuffer2.limit();
                    byteBuffer2.limit(byteBuffer2.position() + i3);
                    byteBuffer.put(byteBuffer2);
                    byteBuffer2.limit(iLimit);
                    i3 = 0;
                }
                byteBuffer2.position(iPosition);
                if (i3 == 0) {
                    break;
                }
            }
        }
        byteBuffer.flip();
        return byteBuffer;
    }

    public static ByteBuffer getBufferLargerThan(ByteBuffer[] byteBufferArr, int i3) {
        int length = byteBufferArr.length;
        int i4 = 0;
        while (i4 < length) {
            ByteBuffer byteBuffer = byteBufferArr[i4];
            int iRemaining = byteBuffer.remaining();
            if (iRemaining > 0) {
                if (iRemaining >= i3) {
                    return byteBuffer;
                }
                do {
                    i4++;
                    if (i4 >= length) {
                        return byteBuffer;
                    }
                } while (byteBufferArr[i4].remaining() <= 0);
                return null;
            }
            i4++;
        }
        return null;
    }

    public static long remaining(ByteBuffer[] byteBufferArr) {
        long jRemaining = 0;
        for (ByteBuffer byteBuffer : byteBufferArr) {
            jRemaining += (long) byteBuffer.remaining();
        }
        return jRemaining;
    }
}
