package io.netty.util.internal;

import g.a.a.a.a;
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) {
            throw new IllegalArgumentException(a.n("length: ", i2, " (length: >= 1)"));
        }
        this.chars = new char[i2];
    }

    private AppendableCharSequence(char[] cArr) {
        if (cArr.length < 1) {
            throw new IllegalArgumentException(a.y(a.F("length: "), cArr.length, " (length: >= 1)"));
        }
        this.chars = cArr;
        this.pos = cArr.length;
    }

    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(char c2) {
        int i2 = this.pos;
        char[] cArr = this.chars;
        if (i2 == cArr.length) {
            char[] cArr2 = new char[cArr.length << 1];
            this.chars = cArr2;
            System.arraycopy(cArr, 0, cArr2, 0, cArr.length);
        }
        char[] cArr3 = this.chars;
        int i3 = this.pos;
        this.pos = i3 + 1;
        cArr3[i3] = c2;
        return this;
    }

    @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) {
            throw new IndexOutOfBoundsException();
        }
        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;
    }

    @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;
    }

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

    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);
    }
}
