package io.netty.util.internal;

import java.util.Arrays;

/* JADX INFO: loaded from: classes.dex */
public final class AppendableCharSequence implements CharSequence, Appendable {
    private char[] chars;
    private int pos;

    public AppendableCharSequence(int i2) {
        if (i2 >= 1) {
            this.chars = new char[i2];
            return;
        }
        throw new IllegalArgumentException("length: " + i2 + " (length: >= 1)");
    }

    private void expand() {
        char[] cArr = this.chars;
        int length = cArr.length << 1;
        if (length < 0) {
            throw new IllegalStateException();
        }
        char[] cArr2 = new char[length];
        this.chars = cArr2;
        System.arraycopy(cArr, 0, cArr2, 0, cArr.length);
    }

    @Override // java.lang.CharSequence
    public char charAt(int i2) {
        if (i2 <= this.pos) {
            return this.chars[i2];
        }
        throw new IndexOutOfBoundsException();
    }

    public char charAtUnsafe(int i2) {
        return this.chars[i2];
    }

    @Override // java.lang.CharSequence
    public int length() {
        return this.pos;
    }

    public void reset() {
        this.pos = 0;
    }

    public String subStringUnsafe(int i2, int i3) {
        return new String(this.chars, i2, i3 - i2);
    }

    public String substring(int i2, int i3) {
        int i4 = i3 - i2;
        int i5 = this.pos;
        if (i2 > i5 || i4 > i5) {
            throw new IndexOutOfBoundsException();
        }
        return new String(this.chars, i2, i4);
    }

    @Override // java.lang.CharSequence
    public String toString() {
        return new String(this.chars, 0, this.pos);
    }

    @Override // java.lang.CharSequence
    public AppendableCharSequence subSequence(int i2, int i3) {
        return new AppendableCharSequence(Arrays.copyOfRange(this.chars, i2, i3));
    }

    private AppendableCharSequence(char[] cArr) {
        if (cArr.length >= 1) {
            this.chars = cArr;
            this.pos = cArr.length;
        } else {
            throw new IllegalArgumentException("length: " + cArr.length + " (length: >= 1)");
        }
    }

    @Override // java.lang.Appendable
    public AppendableCharSequence append(char c2) {
        try {
            char[] cArr = this.chars;
            int i2 = this.pos;
            this.pos = i2 + 1;
            cArr[i2] = c2;
        } catch (IndexOutOfBoundsException unused) {
            expand();
            this.chars[this.pos - 1] = c2;
        }
        return this;
    }

    private static char[] expand(char[] cArr, int i2, int i3) {
        int length = cArr.length;
        do {
            length <<= 1;
            if (length < 0) {
                throw new IllegalStateException();
            }
        } while (i2 > length);
        char[] cArr2 = new char[length];
        System.arraycopy(cArr, 0, cArr2, 0, i3);
        return cArr2;
    }

    @Override // java.lang.Appendable
    public AppendableCharSequence append(CharSequence charSequence) {
        return append(charSequence, 0, charSequence.length());
    }

    @Override // java.lang.Appendable
    public AppendableCharSequence append(CharSequence charSequence, int i2, int i3) {
        if (charSequence.length() >= i3) {
            int i4 = i3 - i2;
            char[] cArr = this.chars;
            int length = cArr.length;
            int i5 = this.pos;
            if (i4 > length - i5) {
                this.chars = expand(cArr, i5 + i4, i5);
            }
            if (charSequence instanceof AppendableCharSequence) {
                System.arraycopy(((AppendableCharSequence) charSequence).chars, i2, this.chars, this.pos, i4);
                this.pos += i4;
                return this;
            }
            while (i2 < i3) {
                char[] cArr2 = this.chars;
                int i6 = this.pos;
                this.pos = i6 + 1;
                cArr2[i6] = charSequence.charAt(i2);
                i2++;
            }
            return this;
        }
        throw new IndexOutOfBoundsException();
    }
}
