package com.ifpdos.udi.sdk.service.doc.opensdk;

import com.ifpdos.udi.sdk.kotlin.comment.parser.CommentDetails;
import com.ifpdos.udi.sdk.service.doc.base.ApiInfo;
import com.ifpdos.udi.sdk.service.doc.base.ClassParser;
import com.ifpdos.udi.sdk.service.doc.base.GenericClassWrapper;
import com.ifpdos.udi.sdk.service.doc.base.GenericFieldWrapper;
import com.ifpdos.udi.sdk.service.doc.base.IClassWrapper;
import com.ifpdos.udi.sdk.service.doc.base.IDocGenerator;
import com.ifpdos.udi.sdk.service.doc.base.IFieldWrapper;
import com.ifpdos.udi.sdk.service.doc.base.Notify;
import com.ifpdos.udi.sdk.service.doc.base.Request;
import com.ifpdos.udi.sdk.service.doc.base.Uri;
import d.b.a.a.a;
import g.c0.g;
import g.h0.c.l;
import g.i;
import g.m0.f;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

/* JADX INFO: compiled from: OpenSdkUdiExtendDescGenerator.kt */
/* JADX INFO: loaded from: classes.dex */
@i
public final class OpenSdkUdiExtendDescGenerator implements IDocGenerator {
    private List<ApiInfo> apis;
    private File classDir;
    private ClassParser classParser;
    private final Set<String> classes = new LinkedHashSet();
    private File enumDir;
    private Map<Uri, Request.Handler> getters;
    private CommentDetails serviceComment;
    private Map<Uri, Request.Handler> setters;

    /* JADX INFO: compiled from: OpenSdkUdiExtendDescGenerator.kt */
    @i
    public static final class Api {
        private final String comment;
        private final Operation getter;
        private final String name;
        private final Operation notify;
        private final Operation setter;
        private final String url;

        public Api(String str, String str2, String str3, Operation operation, Operation operation2, Operation operation3) {
            l.f(str, "name");
            l.f(str2, "comment");
            l.f(str3, "url");
            l.f(operation, "getter");
            l.f(operation2, "setter");
            l.f(operation3, "notify");
            this.name = str;
            this.comment = str2;
            this.url = str3;
            this.getter = operation;
            this.setter = operation2;
            this.notify = operation3;
        }

        public static /* synthetic */ Api copy$default(Api api, String str, String str2, String str3, Operation operation, Operation operation2, Operation operation3, int i2, Object obj) {
            if ((i2 & 1) != 0) {
                str = api.name;
            }
            if ((i2 & 2) != 0) {
                str2 = api.comment;
            }
            String str4 = str2;
            if ((i2 & 4) != 0) {
                str3 = api.url;
            }
            String str5 = str3;
            if ((i2 & 8) != 0) {
                operation = api.getter;
            }
            Operation operation4 = operation;
            if ((i2 & 16) != 0) {
                operation2 = api.setter;
            }
            Operation operation5 = operation2;
            if ((i2 & 32) != 0) {
                operation3 = api.notify;
            }
            return api.copy(str, str4, str5, operation4, operation5, operation3);
        }

        public final String component1() {
            return this.name;
        }

        public final String component2() {
            return this.comment;
        }

        public final String component3() {
            return this.url;
        }

        public final Operation component4() {
            return this.getter;
        }

        public final Operation component5() {
            return this.setter;
        }

        public final Operation component6() {
            return this.notify;
        }

        public final Api copy(String str, String str2, String str3, Operation operation, Operation operation2, Operation operation3) {
            l.f(str, "name");
            l.f(str2, "comment");
            l.f(str3, "url");
            l.f(operation, "getter");
            l.f(operation2, "setter");
            l.f(operation3, "notify");
            return new Api(str, str2, str3, operation, operation2, operation3);
        }

        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (!(obj instanceof Api)) {
                return false;
            }
            Api api = (Api) obj;
            return l.a(this.name, api.name) && l.a(this.comment, api.comment) && l.a(this.url, api.url) && l.a(this.getter, api.getter) && l.a(this.setter, api.setter) && l.a(this.notify, api.notify);
        }

        public final String getComment() {
            return this.comment;
        }

        public final Operation getGetter() {
            return this.getter;
        }

        public final String getName() {
            return this.name;
        }

        public final Operation getNotify() {
            return this.notify;
        }

        public final Operation getSetter() {
            return this.setter;
        }

        public final String getUrl() {
            return this.url;
        }

        public int hashCode() {
            return this.notify.hashCode() + ((this.setter.hashCode() + ((this.getter.hashCode() + a.x(this.url, a.x(this.comment, this.name.hashCode() * 31, 31), 31)) * 31)) * 31);
        }

        public final String toJson() {
            StringBuilder sbB = a.B("{\"name\":\"");
            sbB.append(this.name);
            sbB.append("\",\"comment\":\"");
            sbB.append(f.A(this.comment, "\"", "\\\"", false, 4));
            sbB.append("\",\"url\":\"");
            sbB.append(this.url);
            sbB.append("\",\"getter\":");
            sbB.append(this.getter.toJson());
            sbB.append(",\"setter\":");
            sbB.append(this.setter.toJson());
            sbB.append(",\"notify\":");
            sbB.append(this.notify.toJson());
            sbB.append('}');
            return sbB.toString();
        }

        public String toString() {
            StringBuilder sbB = a.B("Api(name=");
            sbB.append(this.name);
            sbB.append(", comment=");
            sbB.append(this.comment);
            sbB.append(", url=");
            sbB.append(this.url);
            sbB.append(", getter=");
            sbB.append(this.getter);
            sbB.append(", setter=");
            sbB.append(this.setter);
            sbB.append(", notify=");
            sbB.append(this.notify);
            sbB.append(')');
            return sbB.toString();
        }
    }

    /* JADX INFO: compiled from: OpenSdkUdiExtendDescGenerator.kt */
    @i
    public static final class ClassFieldInfo {
        private final String comment;
        private final String name;
        private final String type;

        public ClassFieldInfo(String str, String str2, String str3) {
            l.f(str, "name");
            l.f(str2, "type");
            l.f(str3, "comment");
            this.name = str;
            this.type = str2;
            this.comment = str3;
        }

        public static /* synthetic */ ClassFieldInfo copy$default(ClassFieldInfo classFieldInfo, String str, String str2, String str3, int i2, Object obj) {
            if ((i2 & 1) != 0) {
                str = classFieldInfo.name;
            }
            if ((i2 & 2) != 0) {
                str2 = classFieldInfo.type;
            }
            if ((i2 & 4) != 0) {
                str3 = classFieldInfo.comment;
            }
            return classFieldInfo.copy(str, str2, str3);
        }

        public final String component1() {
            return this.name;
        }

        public final String component2() {
            return this.type;
        }

        public final String component3() {
            return this.comment;
        }

        public final ClassFieldInfo copy(String str, String str2, String str3) {
            l.f(str, "name");
            l.f(str2, "type");
            l.f(str3, "comment");
            return new ClassFieldInfo(str, str2, str3);
        }

        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (!(obj instanceof ClassFieldInfo)) {
                return false;
            }
            ClassFieldInfo classFieldInfo = (ClassFieldInfo) obj;
            return l.a(this.name, classFieldInfo.name) && l.a(this.type, classFieldInfo.type) && l.a(this.comment, classFieldInfo.comment);
        }

        public final String getComment() {
            return this.comment;
        }

        public final String getName() {
            return this.name;
        }

        public final String getType() {
            return this.type;
        }

        public int hashCode() {
            return this.comment.hashCode() + a.x(this.type, this.name.hashCode() * 31, 31);
        }

        public final String toJson() {
            StringBuilder sbB = a.B("{\"name\":\"");
            sbB.append(this.name);
            sbB.append("\",\"type\":\"");
            sbB.append(this.type);
            sbB.append("\",\"comment\":\"");
            return a.v(sbB, this.comment, "\"}");
        }

        public String toString() {
            StringBuilder sbB = a.B("ClassFieldInfo(name=");
            sbB.append(this.name);
            sbB.append(", type=");
            sbB.append(this.type);
            sbB.append(", comment=");
            return a.u(sbB, this.comment, ')');
        }
    }

    /* JADX INFO: compiled from: OpenSdkUdiExtendDescGenerator.kt */
    @i
    public static final class ClassInfo {
        private final String comment;
        private final List<ClassFieldInfo> fields;
        private final List<String> genericParams;
        private final String type;

        public ClassInfo(String str, String str2, List<String> list, List<ClassFieldInfo> list2) {
            l.f(str, "type");
            l.f(str2, "comment");
            l.f(list, "genericParams");
            l.f(list2, "fields");
            this.type = str;
            this.comment = str2;
            this.genericParams = list;
            this.fields = list2;
        }

        /* JADX WARN: Multi-variable type inference failed */
        public static /* synthetic */ ClassInfo copy$default(ClassInfo classInfo, String str, String str2, List list, List list2, int i2, Object obj) {
            if ((i2 & 1) != 0) {
                str = classInfo.type;
            }
            if ((i2 & 2) != 0) {
                str2 = classInfo.comment;
            }
            if ((i2 & 4) != 0) {
                list = classInfo.genericParams;
            }
            if ((i2 & 8) != 0) {
                list2 = classInfo.fields;
            }
            return classInfo.copy(str, str2, list, list2);
        }

        public final String component1() {
            return this.type;
        }

        public final String component2() {
            return this.comment;
        }

        public final List<String> component3() {
            return this.genericParams;
        }

        public final List<ClassFieldInfo> component4() {
            return this.fields;
        }

        public final ClassInfo copy(String str, String str2, List<String> list, List<ClassFieldInfo> list2) {
            l.f(str, "type");
            l.f(str2, "comment");
            l.f(list, "genericParams");
            l.f(list2, "fields");
            return new ClassInfo(str, str2, list, list2);
        }

        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (!(obj instanceof ClassInfo)) {
                return false;
            }
            ClassInfo classInfo = (ClassInfo) obj;
            return l.a(this.type, classInfo.type) && l.a(this.comment, classInfo.comment) && l.a(this.genericParams, classInfo.genericParams) && l.a(this.fields, classInfo.fields);
        }

        public final String getComment() {
            return this.comment;
        }

        public final List<ClassFieldInfo> getFields() {
            return this.fields;
        }

        public final List<String> getGenericParams() {
            return this.genericParams;
        }

        public final String getType() {
            return this.type;
        }

        public int hashCode() {
            return this.fields.hashCode() + ((this.genericParams.hashCode() + a.x(this.comment, this.type.hashCode() * 31, 31)) * 31);
        }

        public final String toJson() throws IOException {
            String strR = g.r(this.genericParams, ",", null, null, 0, null, OpenSdkUdiExtendDescGenerator$ClassInfo$toJson$genericParams$1.INSTANCE, 30);
            String strR2 = g.r(this.fields, ",", null, null, 0, null, OpenSdkUdiExtendDescGenerator$ClassInfo$toJson$fields$1.INSTANCE, 30);
            StringBuilder sbB = a.B("{\"type\":\"");
            sbB.append(this.type);
            sbB.append("\",\"comment\":\"");
            sbB.append(this.comment);
            sbB.append("\",\"genericParams\":[");
            sbB.append(strR);
            sbB.append("],\"fields\":[");
            return a.v(sbB, strR2, "]}");
        }

        public String toString() {
            StringBuilder sbB = a.B("ClassInfo(type=");
            sbB.append(this.type);
            sbB.append(", comment=");
            sbB.append(this.comment);
            sbB.append(", genericParams=");
            sbB.append(this.genericParams);
            sbB.append(", fields=");
            sbB.append(this.fields);
            sbB.append(')');
            return sbB.toString();
        }
    }

    /* JADX INFO: compiled from: OpenSdkUdiExtendDescGenerator.kt */
    @i
    public static final class EnumClassInfo {
        private final String comment;
        private final String name;
        private final List<EnumFieldInfo> values;

        public EnumClassInfo(String str, String str2, List<EnumFieldInfo> list) {
            l.f(str, "name");
            l.f(str2, "comment");
            l.f(list, "values");
            this.name = str;
            this.comment = str2;
            this.values = list;
        }

        /* JADX WARN: Multi-variable type inference failed */
        public static /* synthetic */ EnumClassInfo copy$default(EnumClassInfo enumClassInfo, String str, String str2, List list, int i2, Object obj) {
            if ((i2 & 1) != 0) {
                str = enumClassInfo.name;
            }
            if ((i2 & 2) != 0) {
                str2 = enumClassInfo.comment;
            }
            if ((i2 & 4) != 0) {
                list = enumClassInfo.values;
            }
            return enumClassInfo.copy(str, str2, list);
        }

        public final String component1() {
            return this.name;
        }

        public final String component2() {
            return this.comment;
        }

        public final List<EnumFieldInfo> component3() {
            return this.values;
        }

        public final EnumClassInfo copy(String str, String str2, List<EnumFieldInfo> list) {
            l.f(str, "name");
            l.f(str2, "comment");
            l.f(list, "values");
            return new EnumClassInfo(str, str2, list);
        }

        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (!(obj instanceof EnumClassInfo)) {
                return false;
            }
            EnumClassInfo enumClassInfo = (EnumClassInfo) obj;
            return l.a(this.name, enumClassInfo.name) && l.a(this.comment, enumClassInfo.comment) && l.a(this.values, enumClassInfo.values);
        }

        public final String getComment() {
            return this.comment;
        }

        public final String getName() {
            return this.name;
        }

        public final List<EnumFieldInfo> getValues() {
            return this.values;
        }

        public int hashCode() {
            return this.values.hashCode() + a.x(this.comment, this.name.hashCode() * 31, 31);
        }

        public final String toJson() {
            StringBuilder sbB = a.B("{\"name\":\"");
            sbB.append(this.name);
            sbB.append("\",\"comment\":\"");
            sbB.append(this.comment);
            sbB.append("\",\"values\":[");
            return a.v(sbB, g.r(this.values, ",", null, null, 0, null, OpenSdkUdiExtendDescGenerator$EnumClassInfo$toJson$1.INSTANCE, 30), "]}");
        }

        public String toString() {
            StringBuilder sbB = a.B("EnumClassInfo(name=");
            sbB.append(this.name);
            sbB.append(", comment=");
            sbB.append(this.comment);
            sbB.append(", values=");
            sbB.append(this.values);
            sbB.append(')');
            return sbB.toString();
        }
    }

    /* JADX INFO: compiled from: OpenSdkUdiExtendDescGenerator.kt */
    @i
    public static final class EnumFieldInfo {
        private final String comment;
        private final String name;
        private final String rawName;

        public EnumFieldInfo(String str, String str2, String str3) {
            l.f(str, "name");
            l.f(str2, "rawName");
            l.f(str3, "comment");
            this.name = str;
            this.rawName = str2;
            this.comment = str3;
        }

        public static /* synthetic */ EnumFieldInfo copy$default(EnumFieldInfo enumFieldInfo, String str, String str2, String str3, int i2, Object obj) {
            if ((i2 & 1) != 0) {
                str = enumFieldInfo.name;
            }
            if ((i2 & 2) != 0) {
                str2 = enumFieldInfo.rawName;
            }
            if ((i2 & 4) != 0) {
                str3 = enumFieldInfo.comment;
            }
            return enumFieldInfo.copy(str, str2, str3);
        }

        public final String component1() {
            return this.name;
        }

        public final String component2() {
            return this.rawName;
        }

        public final String component3() {
            return this.comment;
        }

        public final EnumFieldInfo copy(String str, String str2, String str3) {
            l.f(str, "name");
            l.f(str2, "rawName");
            l.f(str3, "comment");
            return new EnumFieldInfo(str, str2, str3);
        }

        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (!(obj instanceof EnumFieldInfo)) {
                return false;
            }
            EnumFieldInfo enumFieldInfo = (EnumFieldInfo) obj;
            return l.a(this.name, enumFieldInfo.name) && l.a(this.rawName, enumFieldInfo.rawName) && l.a(this.comment, enumFieldInfo.comment);
        }

        public final String getComment() {
            return this.comment;
        }

        public final String getName() {
            return this.name;
        }

        public final String getRawName() {
            return this.rawName;
        }

        public int hashCode() {
            return this.comment.hashCode() + a.x(this.rawName, this.name.hashCode() * 31, 31);
        }

        public final String toJson() {
            StringBuilder sbB = a.B("{\"name\":\"");
            sbB.append(this.name);
            sbB.append("\",\"rawName\":\"");
            sbB.append(this.rawName);
            sbB.append("\",\"comment\":\"");
            return a.v(sbB, this.comment, "\"}");
        }

        public String toString() {
            StringBuilder sbB = a.B("EnumFieldInfo(name=");
            sbB.append(this.name);
            sbB.append(", rawName=");
            sbB.append(this.rawName);
            sbB.append(", comment=");
            return a.u(sbB, this.comment, ')');
        }
    }

    /* JADX INFO: compiled from: OpenSdkUdiExtendDescGenerator.kt */
    @i
    public static final class Result {
        private final List<Api> apis;

        public Result(List<Api> list) {
            l.f(list, "apis");
            this.apis = list;
        }

        /* JADX WARN: Multi-variable type inference failed */
        public static /* synthetic */ Result copy$default(Result result, List list, int i2, Object obj) {
            if ((i2 & 1) != 0) {
                list = result.apis;
            }
            return result.copy(list);
        }

        public final List<Api> component1() {
            return this.apis;
        }

        public final Result copy(List<Api> list) {
            l.f(list, "apis");
            return new Result(list);
        }

        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            return (obj instanceof Result) && l.a(this.apis, ((Result) obj).apis);
        }

        public final List<Api> getApis() {
            return this.apis;
        }

        public int hashCode() {
            return this.apis.hashCode();
        }

        public final String toJson() {
            return a.v(a.B("{\"apis\":["), g.r(this.apis, ",", null, null, 0, null, OpenSdkUdiExtendDescGenerator$Result$toJson$1.INSTANCE, 30), "]}");
        }

        public String toString() {
            StringBuilder sbB = a.B("Result(apis=");
            sbB.append(this.apis);
            sbB.append(')');
            return sbB.toString();
        }
    }

    private final void genApiDesc(File file) {
        ArrayList arrayList = new ArrayList();
        CommentDetails commentDetails = this.serviceComment;
        if (commentDetails == null) {
            l.m("serviceComment");
            throw null;
        }
        String str = parserName(commentDetails);
        List<ApiInfo> list = this.apis;
        if (list == null) {
            l.m("apis");
            throw null;
        }
        Iterator<T> it = list.iterator();
        while (it.hasNext()) {
            arrayList.add(parserApi((ApiInfo) it.next()));
        }
        File file2 = new File(file, "api");
        mkdirIfNotExists(file2);
        FileOutputStream fileOutputStream = new FileOutputStream(new File(file2, a.p(str, ".json")));
        try {
            OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "utf-8");
            outputStreamWriter.write(new Result(arrayList).toJson());
            outputStreamWriter.flush();
            f.a.y.a.B(fileOutputStream, null);
        } finally {
        }
    }

    private final void genClassDesc(File file) {
        File file2 = new File(file, "enum");
        this.enumDir = file2;
        if (file2 == null) {
            l.m("enumDir");
            throw null;
        }
        mkdirIfNotExists(file2);
        File file3 = new File(file, "class");
        this.classDir = file3;
        if (file3 == null) {
            l.m("classDir");
            throw null;
        }
        mkdirIfNotExists(file3);
        List<ApiInfo> list = this.apis;
        if (list == null) {
            l.m("apis");
            throw null;
        }
        for (ApiInfo apiInfo : list) {
            Request getterRequest = apiInfo.getGetterRequest();
            if (getterRequest != null) {
                parserClass(getterRequest.getRequestClass());
                parserClass(getterRequest.getResponseClass());
            }
            Request setterRequest = apiInfo.getSetterRequest();
            if (setterRequest != null) {
                parserClass(setterRequest.getRequestClass());
                parserClass(setterRequest.getResponseClass());
            }
            Notify notify = apiInfo.getNotify();
            if (notify != null) {
                parserClass(notify.getNotifyClass());
            }
        }
    }

    private final void genGenericClassDesc(GenericClassWrapper genericClassWrapper) {
        List listE = f.E(genericClassWrapper.getRawType(), new String[]{"<"}, false, 0, 6);
        String str = (String) listE.get(0);
        String strSubstring = ((String) listE.get(1)).substring(0, ((String) listE.get(1)).length() - 1);
        l.e(strSubstring, "this as java.lang.String…ing(startIndex, endIndex)");
        List listE2 = f.E(strSubstring, new String[]{","}, false, 0, 6);
        List<IFieldWrapper> fields = genericClassWrapper.getFields();
        ArrayList arrayList = new ArrayList(f.a.y.a.C(fields, 10));
        Iterator<T> it = fields.iterator();
        while (true) {
            String total = null;
            if (!it.hasNext()) {
                break;
            }
            IFieldWrapper iFieldWrapper = (IFieldWrapper) it.next();
            String name = iFieldWrapper.getName();
            String rawType = ((GenericFieldWrapper) iFieldWrapper).getRawType();
            CommentDetails comment = iFieldWrapper.getComment();
            if (comment != null) {
                total = comment.getTotal();
            }
            arrayList.add(new ClassFieldInfo(name, rawType, standComment(total)));
        }
        CommentDetails comment2 = genericClassWrapper.getComment();
        ClassInfo classInfo = new ClassInfo(str, standComment(comment2 != null ? comment2.getTotal() : null), listE2, arrayList);
        File file = this.classDir;
        if (file == null) {
            l.m("classDir");
            throw null;
        }
        FileOutputStream fileOutputStream = new FileOutputStream(new File(file, a.p(str, ".json")));
        try {
            OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "utf-8");
            outputStreamWriter.write(classInfo.toJson());
            outputStreamWriter.flush();
            f.a.y.a.B(fileOutputStream, null);
        } finally {
        }
    }

    private final void mkdirIfNotExists(File file) {
        if (file.exists()) {
            return;
        }
        file.mkdirs();
    }

    private final void onParserClass(IClassWrapper iClassWrapper) {
        if (this.classes.contains(iClassWrapper.getType())) {
            return;
        }
        this.classes.add(iClassWrapper.getType());
        if (iClassWrapper instanceof GenericClassWrapper) {
            genGenericClassDesc((GenericClassWrapper) iClassWrapper);
        } else {
            genClassDesc(iClassWrapper);
        }
        Iterator<T> it = iClassWrapper.getFields().iterator();
        while (it.hasNext()) {
            parserClass(((IFieldWrapper) it.next()).getType());
        }
    }

    private final void onParserEnum(IClassWrapper iClassWrapper, List<? extends IFieldWrapper> list) {
        if (this.classes.contains(iClassWrapper.getType())) {
            return;
        }
        this.classes.add(iClassWrapper.getType());
        String type = iClassWrapper.getType();
        CommentDetails comment = iClassWrapper.getComment();
        String strStandComment = standComment(comment != null ? comment.getTotal() : null);
        ArrayList arrayList = new ArrayList(f.a.y.a.C(list, 10));
        for (IFieldWrapper iFieldWrapper : list) {
            String name = iFieldWrapper.getName();
            String rawName = iFieldWrapper.getRawName();
            CommentDetails comment2 = iFieldWrapper.getComment();
            arrayList.add(new EnumFieldInfo(name, rawName, standComment(comment2 != null ? comment2.getTotal() : null)));
        }
        EnumClassInfo enumClassInfo = new EnumClassInfo(type, strStandComment, arrayList);
        File file = this.enumDir;
        if (file == null) {
            l.m("enumDir");
            throw null;
        }
        FileOutputStream fileOutputStream = new FileOutputStream(new File(file, iClassWrapper.getType() + ".json"));
        try {
            OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "utf-8");
            outputStreamWriter.write(enumClassInfo.toJson());
            outputStreamWriter.flush();
            f.a.y.a.B(fileOutputStream, null);
        } finally {
        }
    }

    private final Api parserApi(ApiInfo apiInfo) {
        Operation operation;
        Operation operation2;
        Operation operation3;
        Request getterRequest = apiInfo.getGetterRequest();
        if (getterRequest != null) {
            operation = new Operation(true, Integer.valueOf(getterRequest.getPermission().getPermission()), getterRequest.getRequestClass(), getterRequest.getResponseClass(), getterRequest.getHandlers().isEmpty() ^ true ? ((Request.Handler) g.s(getterRequest.getHandlers())).getMethodName() : "");
        } else {
            operation = new Operation(false, null, null, null, null, 30, null);
        }
        Operation operation4 = operation;
        Request setterRequest = apiInfo.getSetterRequest();
        if (setterRequest != null) {
            operation2 = new Operation(true, Integer.valueOf(setterRequest.getPermission().getPermission()), setterRequest.getRequestClass(), setterRequest.getResponseClass(), setterRequest.getHandlers().isEmpty() ^ true ? ((Request.Handler) g.s(setterRequest.getHandlers())).getMethodName() : "");
        } else {
            operation2 = new Operation(false, null, null, null, null, 30, null);
        }
        if (apiInfo.getNotify() != null) {
            Notify notify = apiInfo.getNotify();
            l.c(notify);
            Integer numValueOf = Integer.valueOf(notify.getPermission().getPermission());
            Notify notify2 = apiInfo.getNotify();
            l.c(notify2);
            operation3 = new Operation(true, numValueOf, notify2.getNotifyClass(), null, null, 24, null);
        } else {
            operation3 = new Operation(false, null, null, null, null, 30, null);
        }
        return new Api(apiInfo.getApiName(), standComment(apiInfo.getComment().getTotal()), apiInfo.getUri().getMqttTopic(), operation4, operation2, operation3);
    }

    private final void parserClass(String str) {
        ClassParser classParser = this.classParser;
        if (classParser == null) {
            l.m("classParser");
            throw null;
        }
        IClassWrapper rVar = classParser.parser(str);
        if (rVar != null) {
            if (!rVar.isEnum()) {
                onParserClass(rVar);
                return;
            }
            ClassParser classParser2 = this.classParser;
            if (classParser2 != null) {
                onParserEnum(rVar, classParser2.getEnumValues(rVar));
            } else {
                l.m("classParser");
                throw null;
            }
        }
    }

    private final String parserName(CommentDetails commentDetails) {
        List<String> list = commentDetails.getAnnotations().get("name");
        l.c(list);
        return list.get(0);
    }

    private final String standComment(String str) {
        return str != null ? f.A(str, "\n", "\\n", false, 4) : "";
    }

    @Override // com.ifpdos.udi.sdk.service.doc.base.IDocGenerator
    public void genDoc(List<ApiInfo> list, CommentDetails commentDetails, ClassParser classParser, File file) {
        Set<Request.Handler> handlers;
        Set<Request.Handler> handlers2;
        l.f(list, "apis");
        l.f(commentDetails, "serviceComment");
        l.f(classParser, "classParser");
        l.f(file, "docDir");
        this.apis = list;
        this.serviceComment = commentDetails;
        LinkedHashMap linkedHashMap = new LinkedHashMap();
        LinkedHashMap linkedHashMap2 = new LinkedHashMap();
        List<ApiInfo> list2 = this.apis;
        if (list2 == null) {
            l.m("apis");
            throw null;
        }
        for (ApiInfo apiInfo : list2) {
            Request getterRequest = apiInfo.getGetterRequest();
            if (getterRequest != null && (handlers2 = getterRequest.getHandlers()) != null && (!handlers2.isEmpty())) {
                linkedHashMap.put(apiInfo.getUri(), g.s(handlers2));
            }
            Request setterRequest = apiInfo.getSetterRequest();
            if (setterRequest != null && (handlers = setterRequest.getHandlers()) != null && (!handlers.isEmpty())) {
                linkedHashMap2.put(apiInfo.getUri(), g.s(handlers));
            }
        }
        this.setters = linkedHashMap2;
        this.getters = linkedHashMap;
        this.classParser = classParser;
        File file2 = new File(file, "doc-opensdk");
        genApiDesc(file2);
        genClassDesc(file2);
    }

    /* JADX INFO: compiled from: OpenSdkUdiExtendDescGenerator.kt */
    @i
    public static final class Operation {
        private final boolean enable;
        private final String handleMethod;
        private final String param;
        private final Integer permission;
        private final String response;

        public Operation(boolean z, Integer num, String str, String str2, String str3) {
            this.enable = z;
            this.permission = num;
            this.param = str;
            this.response = str2;
            this.handleMethod = str3;
        }

        public static /* synthetic */ Operation copy$default(Operation operation, boolean z, Integer num, String str, String str2, String str3, int i2, Object obj) {
            if ((i2 & 1) != 0) {
                z = operation.enable;
            }
            if ((i2 & 2) != 0) {
                num = operation.permission;
            }
            Integer num2 = num;
            if ((i2 & 4) != 0) {
                str = operation.param;
            }
            String str4 = str;
            if ((i2 & 8) != 0) {
                str2 = operation.response;
            }
            String str5 = str2;
            if ((i2 & 16) != 0) {
                str3 = operation.handleMethod;
            }
            return operation.copy(z, num2, str4, str5, str3);
        }

        public final boolean component1() {
            return this.enable;
        }

        public final Integer component2() {
            return this.permission;
        }

        public final String component3() {
            return this.param;
        }

        public final String component4() {
            return this.response;
        }

        public final String component5() {
            return this.handleMethod;
        }

        public final Operation copy(boolean z, Integer num, String str, String str2, String str3) {
            return new Operation(z, num, str, str2, str3);
        }

        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (!(obj instanceof Operation)) {
                return false;
            }
            Operation operation = (Operation) obj;
            return this.enable == operation.enable && l.a(this.permission, operation.permission) && l.a(this.param, operation.param) && l.a(this.response, operation.response) && l.a(this.handleMethod, operation.handleMethod);
        }

        public final boolean getEnable() {
            return this.enable;
        }

        public final String getHandleMethod() {
            return this.handleMethod;
        }

        public final String getParam() {
            return this.param;
        }

        public final Integer getPermission() {
            return this.permission;
        }

        public final String getResponse() {
            return this.response;
        }

        /* JADX WARN: Multi-variable type inference failed */
        /* JADX WARN: Type inference failed for: r0v1, types: [int] */
        /* JADX WARN: Type inference failed for: r0v10 */
        /* JADX WARN: Type inference failed for: r0v11 */
        public int hashCode() {
            boolean z = this.enable;
            ?? r0 = z;
            if (z) {
                r0 = 1;
            }
            int i2 = r0 * 31;
            Integer num = this.permission;
            int iHashCode = (i2 + (num == null ? 0 : num.hashCode())) * 31;
            String str = this.param;
            int iHashCode2 = (iHashCode + (str == null ? 0 : str.hashCode())) * 31;
            String str2 = this.response;
            int iHashCode3 = (iHashCode2 + (str2 == null ? 0 : str2.hashCode())) * 31;
            String str3 = this.handleMethod;
            return iHashCode3 + (str3 != null ? str3.hashCode() : 0);
        }

        public final String toJson() {
            StringBuilder sb = new StringBuilder();
            StringBuilder sbB = a.B("{\"enable\":");
            sbB.append(this.enable);
            sb.append(sbB.toString());
            if (this.permission != null) {
                StringBuilder sbB2 = a.B(",\"permission\":");
                sbB2.append(this.permission);
                sb.append(sbB2.toString());
            }
            if (this.param != null) {
                StringBuilder sbB3 = a.B(",\"param\":\"");
                sbB3.append(this.param);
                sbB3.append('\"');
                sb.append(sbB3.toString());
            }
            if (this.response != null) {
                StringBuilder sbB4 = a.B(",\"response\":\"");
                sbB4.append(this.response);
                sbB4.append('\"');
                sb.append(sbB4.toString());
            }
            if (this.handleMethod != null) {
                StringBuilder sbB5 = a.B(",\"handleMethod\":\"");
                sbB5.append(this.handleMethod);
                sbB5.append('\"');
                sb.append(sbB5.toString());
            }
            sb.append("}");
            String string = sb.toString();
            l.e(string, "sb.toString()");
            return string;
        }

        public String toString() {
            StringBuilder sbB = a.B("Operation(enable=");
            sbB.append(this.enable);
            sbB.append(", permission=");
            sbB.append(this.permission);
            sbB.append(", param=");
            sbB.append(this.param);
            sbB.append(", response=");
            sbB.append(this.response);
            sbB.append(", handleMethod=");
            return a.u(sbB, this.handleMethod, ')');
        }

        public /* synthetic */ Operation(boolean z, Integer num, String str, String str2, String str3, int i2, g.h0.c.g gVar) {
            this(z, (i2 & 2) != 0 ? null : num, (i2 & 4) != 0 ? null : str, (i2 & 8) != 0 ? null : str2, (i2 & 16) != 0 ? null : str3);
        }
    }

    private final void genClassDesc(IClassWrapper iClassWrapper) {
        List<IFieldWrapper> fields = iClassWrapper.getFields();
        ArrayList arrayList = new ArrayList(f.a.y.a.C(fields, 10));
        Iterator<T> it = fields.iterator();
        while (true) {
            String total = null;
            if (!it.hasNext()) {
                break;
            }
            IFieldWrapper iFieldWrapper = (IFieldWrapper) it.next();
            String name = iFieldWrapper.getName();
            String type = iFieldWrapper.getType();
            CommentDetails comment = iFieldWrapper.getComment();
            if (comment != null) {
                total = comment.getTotal();
            }
            arrayList.add(new ClassFieldInfo(name, type, standComment(total)));
        }
        String type2 = iClassWrapper.getType();
        CommentDetails comment2 = iClassWrapper.getComment();
        ClassInfo classInfo = new ClassInfo(type2, standComment(comment2 != null ? comment2.getTotal() : null), g.c0.l.f4067b, arrayList);
        File file = this.classDir;
        if (file == null) {
            l.m("classDir");
            throw null;
        }
        FileOutputStream fileOutputStream = new FileOutputStream(new File(file, iClassWrapper.getType() + ".json"));
        try {
            OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "utf-8");
            outputStreamWriter.write(classInfo.toJson());
            outputStreamWriter.flush();
            f.a.y.a.B(fileOutputStream, null);
        } finally {
        }
    }
}
