package io.netty.handler.codec.smtp;

import g.a.a.a.a;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.DecoderException;
import io.netty.handler.codec.LineBasedFrameDecoder;
import io.netty.util.CharsetUtil;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/* JADX INFO: loaded from: classes.dex */
public final class SmtpResponseDecoder extends LineBasedFrameDecoder {
    private List<CharSequence> details;

    public SmtpResponseDecoder(int i2) {
        super(i2);
    }

    private static DecoderException newDecoderException(ByteBuf byteBuf, int i2, int i3) {
        return new DecoderException(a.z(a.F("Received invalid line: '"), byteBuf.toString(i2, i3, CharsetUtil.US_ASCII), '\''));
    }

    private static int parseCode(ByteBuf byteBuf) {
        return (parseNumber(byteBuf.readByte()) * 100) + (parseNumber(byteBuf.readByte()) * 10) + parseNumber(byteBuf.readByte());
    }

    private static int parseNumber(byte b2) {
        return Character.digit((char) b2, 10);
    }

    @Override // io.netty.handler.codec.LineBasedFrameDecoder
    public SmtpResponse decode(ChannelHandlerContext channelHandlerContext, ByteBuf byteBuf) {
        ByteBuf byteBuf2 = (ByteBuf) super.decode(channelHandlerContext, byteBuf);
        if (byteBuf2 == null) {
            return null;
        }
        try {
            int i2 = byteBuf2.readableBytes();
            int i3 = byteBuf2.readerIndex();
            if (i2 < 3) {
                throw newDecoderException(byteBuf, i3, i2);
            }
            int code = parseCode(byteBuf2);
            byte b2 = byteBuf2.readByte();
            String string = byteBuf2.isReadable() ? byteBuf2.toString(CharsetUtil.US_ASCII) : null;
            List listEmptyList = this.details;
            if (b2 == 32) {
                this.details = null;
                if (listEmptyList == null) {
                    listEmptyList = string == null ? Collections.emptyList() : Collections.singletonList(string);
                } else if (string != null) {
                    listEmptyList.add(string);
                }
                return new DefaultSmtpResponse(code, (List<CharSequence>) listEmptyList);
            }
            if (b2 != 45) {
                throw newDecoderException(byteBuf, i3, i2);
            }
            if (string != null) {
                if (listEmptyList == null) {
                    listEmptyList = new ArrayList(4);
                    this.details = listEmptyList;
                }
                listEmptyList.add(string);
            }
            return null;
        } finally {
            byteBuf2.release();
        }
    }
}
