package jxl.write.biff;

import common.Assert;
import common.Logger;
import jxl.CellReferenceHelper;
import jxl.CellType;
import jxl.FormulaCell;
import jxl.Sheet;
import jxl.WorkbookSettings;
import jxl.biff.FormattingRecords;
import jxl.biff.FormulaData;
import jxl.biff.IntegerHelper;
import jxl.biff.Type;
import jxl.biff.WorkbookMethods;
import jxl.biff.formula.ExternalSheet;
import jxl.biff.formula.FormulaException;
import jxl.biff.formula.FormulaParser;
import jxl.write.WritableCell;

/* JADX INFO: loaded from: classes.dex */
class ReadFormulaRecord extends CellValue implements FormulaData {
    static /* synthetic */ Class class$jxl$write$biff$ReadFormulaRecord;
    private static Logger logger;
    private FormulaData formula;
    private FormulaParser parser;

    static {
        Class clsClass$ = class$jxl$write$biff$ReadFormulaRecord;
        if (clsClass$ == null) {
            clsClass$ = class$("jxl.write.biff.ReadFormulaRecord");
            class$jxl$write$biff$ReadFormulaRecord = clsClass$;
        }
        logger = Logger.getLogger(clsClass$);
    }

    protected ReadFormulaRecord(FormulaData formulaData) {
        super(Type.FORMULA, formulaData);
        this.formula = formulaData;
    }

    static /* synthetic */ Class class$(String str) {
        try {
            return Class.forName(str);
        } catch (ClassNotFoundException e) {
            throw new NoClassDefFoundError(e.getMessage());
        }
    }

    @Override // jxl.write.biff.CellValue
    void columnInserted(Sheet sheet, int i2, int i3) {
        try {
            if (this.parser == null) {
                byte[] formulaData = this.formula.getFormulaData();
                int length = formulaData.length - 16;
                byte[] bArr = new byte[length];
                System.arraycopy(formulaData, 16, bArr, 0, length);
                FormulaParser formulaParser = new FormulaParser(bArr, this, getSheet().getWorkbook(), getSheet().getWorkbook(), getSheet().getWorkbookSettings());
                this.parser = formulaParser;
                formulaParser.parse();
            }
            this.parser.columnInserted(i2, i3, sheet == getSheet());
        } catch (FormulaException e) {
            Logger logger2 = logger;
            StringBuffer stringBuffer = new StringBuffer();
            stringBuffer.append("cannot insert column within formula:  ");
            stringBuffer.append(e.getMessage());
            logger2.warn(stringBuffer.toString());
        }
    }

    @Override // jxl.write.biff.CellValue
    void columnRemoved(Sheet sheet, int i2, int i3) {
        try {
            if (this.parser == null) {
                byte[] formulaData = this.formula.getFormulaData();
                int length = formulaData.length - 16;
                byte[] bArr = new byte[length];
                System.arraycopy(formulaData, 16, bArr, 0, length);
                FormulaParser formulaParser = new FormulaParser(bArr, this, getSheet().getWorkbook(), getSheet().getWorkbook(), getSheet().getWorkbookSettings());
                this.parser = formulaParser;
                formulaParser.parse();
            }
            this.parser.columnRemoved(i2, i3, sheet == getSheet());
        } catch (FormulaException e) {
            Logger logger2 = logger;
            StringBuffer stringBuffer = new StringBuffer();
            stringBuffer.append("cannot remove column within formula:  ");
            stringBuffer.append(e.getMessage());
            logger2.warn(stringBuffer.toString());
        }
    }

    @Override // jxl.write.biff.CellValue, jxl.write.WritableCell
    public WritableCell copyTo(int i2, int i3) {
        return new FormulaRecord(i2, i3, this);
    }

    protected final byte[] getCellData() {
        return super.getData();
    }

    @Override // jxl.write.biff.CellValue, jxl.Cell
    public String getContents() {
        return this.formula.getContents();
    }

    @Override // jxl.write.biff.CellValue, jxl.biff.WritableRecordData
    public byte[] getData() {
        byte[] formulaData;
        byte[] data = super.getData();
        try {
            if (this.parser == null) {
                formulaData = this.formula.getFormulaData();
            } else {
                byte[] bytes = this.parser.getBytes();
                byte[] bArr = new byte[bytes.length + 16];
                IntegerHelper.getTwoBytes(bytes.length, bArr, 14);
                System.arraycopy(bytes, 0, bArr, 16, bytes.length);
                formulaData = bArr;
            }
            formulaData[8] = (byte) (formulaData[8] | 2);
            byte[] bArr2 = new byte[data.length + formulaData.length];
            System.arraycopy(data, 0, bArr2, 0, data.length);
            System.arraycopy(formulaData, 0, bArr2, data.length, formulaData.length);
            return bArr2;
        } catch (FormulaException e) {
            Logger logger2 = logger;
            StringBuffer stringBuffer = new StringBuffer();
            stringBuffer.append(CellReferenceHelper.getCellReference(getColumn(), getRow()));
            stringBuffer.append(" ");
            stringBuffer.append(e.getMessage());
            logger2.warn(stringBuffer.toString());
            return handleFormulaException();
        }
    }

    public String getFormula() throws FormulaException {
        return ((FormulaCell) this.formula).getFormula();
    }

    @Override // jxl.biff.FormulaData
    public byte[] getFormulaData() throws FormulaException {
        byte[] formulaData = this.formula.getFormulaData();
        byte[] bArr = new byte[formulaData.length];
        System.arraycopy(formulaData, 0, bArr, 0, formulaData.length);
        bArr[8] = (byte) (bArr[8] | 2);
        return bArr;
    }

    protected FormulaData getReadFormula() {
        return this.formula;
    }

    @Override // jxl.write.biff.CellValue, jxl.Cell
    public CellType getType() {
        return this.formula.getType();
    }

    protected byte[] handleFormulaException() {
        byte[] data = super.getData();
        WritableWorkbookImpl workbook = getSheet().getWorkbook();
        FormulaParser formulaParser = new FormulaParser(getContents(), workbook, workbook, workbook.getSettings());
        this.parser = formulaParser;
        try {
            formulaParser.parse();
        } catch (FormulaException e) {
            logger.warn(e.getMessage());
            FormulaParser formulaParser2 = new FormulaParser("\"ERROR\"", workbook, workbook, workbook.getSettings());
            this.parser = formulaParser2;
            try {
                formulaParser2.parse();
            } catch (FormulaException unused) {
                Assert.verify(false);
            }
        }
        byte[] bytes = this.parser.getBytes();
        int length = bytes.length + 16;
        byte[] bArr = new byte[length];
        IntegerHelper.getTwoBytes(bytes.length, bArr, 14);
        System.arraycopy(bytes, 0, bArr, 16, bytes.length);
        bArr[8] = (byte) (bArr[8] | 2);
        byte[] bArr2 = new byte[data.length + length];
        System.arraycopy(data, 0, bArr2, 0, data.length);
        System.arraycopy(bArr, 0, bArr2, data.length, length);
        return bArr2;
    }

    public boolean handleImportedCellReferences(ExternalSheet externalSheet, WorkbookMethods workbookMethods, WorkbookSettings workbookSettings) {
        try {
            if (this.parser == null) {
                byte[] formulaData = this.formula.getFormulaData();
                int length = formulaData.length - 16;
                byte[] bArr = new byte[length];
                System.arraycopy(formulaData, 16, bArr, 0, length);
                FormulaParser formulaParser = new FormulaParser(bArr, this, externalSheet, workbookMethods, workbookSettings);
                this.parser = formulaParser;
                formulaParser.parse();
            }
            return this.parser.handleImportedCellReferences();
        } catch (FormulaException e) {
            Logger logger2 = logger;
            StringBuffer stringBuffer = new StringBuffer();
            stringBuffer.append("cannot import formula:  ");
            stringBuffer.append(e.getMessage());
            logger2.warn(stringBuffer.toString());
            return false;
        }
    }

    @Override // jxl.write.biff.CellValue
    void rowInserted(Sheet sheet, int i2, int i3) {
        try {
            if (this.parser == null) {
                byte[] formulaData = this.formula.getFormulaData();
                int length = formulaData.length - 16;
                byte[] bArr = new byte[length];
                System.arraycopy(formulaData, 16, bArr, 0, length);
                FormulaParser formulaParser = new FormulaParser(bArr, this, getSheet().getWorkbook(), getSheet().getWorkbook(), getSheet().getWorkbookSettings());
                this.parser = formulaParser;
                formulaParser.parse();
            }
            this.parser.rowInserted(i2, i3, sheet == getSheet());
        } catch (FormulaException e) {
            Logger logger2 = logger;
            StringBuffer stringBuffer = new StringBuffer();
            stringBuffer.append("cannot insert row within formula:  ");
            stringBuffer.append(e.getMessage());
            logger2.warn(stringBuffer.toString());
        }
    }

    @Override // jxl.write.biff.CellValue
    void rowRemoved(Sheet sheet, int i2, int i3) {
        try {
            if (this.parser == null) {
                byte[] formulaData = this.formula.getFormulaData();
                int length = formulaData.length - 16;
                byte[] bArr = new byte[length];
                System.arraycopy(formulaData, 16, bArr, 0, length);
                FormulaParser formulaParser = new FormulaParser(bArr, this, getSheet().getWorkbook(), getSheet().getWorkbook(), getSheet().getWorkbookSettings());
                this.parser = formulaParser;
                formulaParser.parse();
            }
            this.parser.rowRemoved(i2, i3, sheet == getSheet());
        } catch (FormulaException e) {
            Logger logger2 = logger;
            StringBuffer stringBuffer = new StringBuffer();
            stringBuffer.append("cannot remove row within formula:  ");
            stringBuffer.append(e.getMessage());
            logger2.warn(stringBuffer.toString());
        }
    }

    @Override // jxl.write.biff.CellValue
    void setCellDetails(FormattingRecords formattingRecords, SharedStrings sharedStrings, WritableSheetImpl writableSheetImpl) {
        super.setCellDetails(formattingRecords, sharedStrings, writableSheetImpl);
        writableSheetImpl.getWorkbook().addRCIRCell(this);
    }
}
