package com.seewo.ota.api.udiserver;

import android.content.Context;
import android.util.Log;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.seewo.vcommons.executor.ButtonActionExecutor;
import d.d.c.a.f.a.b;
import d.d.c.a.f.a.g.d;
import d.d.c.a.f.a.g.e;
import d.d.c.a.f.a.g.h;
import f.z.c.l;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

/* JADX INFO: loaded from: classes.dex */
public class UdiServerRegister {
    private static final String TAG = "UdiServerRegister";
    private List<UdiApiInvoker> mInvokers;
    private String mServiceName;
    private UdiCallHandle mUdiCallHandle;
    private d.d.c.a.f.a.b mUdiServer;
    private final UdiApiFactory mFactory = new UdiApiFactory();
    private final List<Object> mApiImpl = new ArrayList();
    private final Gson mGson = new Gson();
    private final HashMap<Class<?>, Object> mNotifyProxy = new HashMap<>();

    /* JADX INFO: Access modifiers changed from: private */
    public h onGetRequest(d dVar) {
        try {
            Object objHandle = this.mUdiCallHandle.handle(new UdiCallInput(dVar, UdiApiType.GET));
            return objHandle == null ? new h(ButtonActionExecutor.TIME_PAGE_CHANGED_DLEAYED, null) : new h(200, this.mGson.toJson(objHandle));
        } catch (Exception e2) {
            Log.d(TAG, "onGetRequest", e2);
            return new h(ButtonActionExecutor.TIME_PAGE_CHANGED_DLEAYED, null);
        }
    }

    /* JADX INFO: Access modifiers changed from: private */
    public h onPostRequest(d dVar) {
        try {
            Object objHandle = this.mUdiCallHandle.handle(new UdiCallInput(dVar, UdiApiType.POST));
            return objHandle == null ? new h(200, null) : new h(200, this.mGson.toJson(objHandle));
        } catch (Exception e2) {
            Log.d(TAG, "onPostRequest", e2);
            return new h(ButtonActionExecutor.TIME_PAGE_CHANGED_DLEAYED, null);
        }
    }

    private void registerApis() {
        Log.d(TAG, "registerApis");
        if (this.mInvokers == null) {
            Log.d(TAG, "not invokers");
            return;
        }
        ArrayList arrayList = new ArrayList();
        for (UdiApiInvoker udiApiInvoker : this.mInvokers) {
            Log.d(TAG, "registerApis " + udiApiInvoker.getName());
            arrayList.add(new d.d.c.a.f.a.g.a(udiApiInvoker.getName(), udiApiInvoker.getApiType() == UdiApiType.NOTIFY, 0, null, udiApiInvoker.getApiType() == UdiApiType.POST ? new l() { // from class: com.seewo.ota.api.udiserver.b
                @Override // f.z.c.l
                public final Object c(Object obj) {
                    return this.f2109b.onPostRequest((d) obj);
                }
            } : null, 0, udiApiInvoker.getApiType() == UdiApiType.GET ? new l() { // from class: com.seewo.ota.api.udiserver.c
                @Override // f.z.c.l
                public final Object c(Object obj) {
                    return this.f2110b.onGetRequest((d) obj);
                }
            } : null, 0, false));
        }
        this.mUdiServer.a(this.mServiceName, arrayList);
    }

    private void sendEvent(UdiApiInvoker udiApiInvoker, Object... objArr) {
        if (udiApiInvoker.getParams().isEmpty()) {
            sendEvent(udiApiInvoker.getName(), "");
            return;
        }
        JsonObject jsonObject = new JsonObject();
        for (int i2 = 0; i2 < udiApiInvoker.getParams().size(); i2++) {
            UdiParam udiParam = (UdiParam) udiApiInvoker.getParams().get(i2);
            if (udiParam.isToJson()) {
                sendEvent(udiApiInvoker.getName(), this.mGson.toJson(objArr[0]));
                return;
            }
            Object obj = objArr[i2];
            if (obj == null) {
                jsonObject.addProperty(udiParam.name(), "");
            } else if (obj instanceof String) {
                jsonObject.addProperty(udiParam.name(), (String) obj);
            } else if (obj instanceof Number) {
                jsonObject.addProperty(udiParam.name(), (Number) obj);
            } else if (obj instanceof Character) {
                jsonObject.addProperty(udiParam.name(), (Character) obj);
            } else if (obj instanceof Boolean) {
                jsonObject.addProperty(udiParam.name(), (Boolean) obj);
            } else if (obj.getClass().isEnum()) {
                jsonObject.addProperty(udiParam.name(), obj.toString());
            }
        }
        String string = jsonObject.toString();
        Log.d(TAG, "send event: " + udiApiInvoker.getName() + " " + string);
        sendEvent(udiApiInvoker.getName(), string);
    }

    public void addApi(Object... objArr) {
        this.mApiImpl.addAll(Arrays.asList(objArr));
        try {
            this.mInvokers = this.mFactory.createApi(this.mApiImpl.toArray());
            this.mUdiCallHandle = new UdiCallHandle(new UdiRequestParserFactory(), this.mInvokers);
        } catch (Exception e2) {
            Log.e(TAG, "", e2);
        }
    }

    public /* synthetic */ Object c(Object obj, Method method, Object[] objArr) throws Throwable {
        for (UdiApiInvoker udiApiInvoker : this.mInvokers) {
            if (udiApiInvoker.getApiType() == UdiApiType.NOTIFY && udiApiInvoker.getMethod().equals(method)) {
                sendEvent(udiApiInvoker, objArr);
                return null;
            }
        }
        return null;
    }

    public <T> T createNotifyProxy(Class<T> cls) {
        if (this.mNotifyProxy.containsKey(cls)) {
            return (T) this.mNotifyProxy.get(cls);
        }
        T t = (T) Proxy.newProxyInstance(cls.getClassLoader(), new Class[]{cls}, new InvocationHandler() { // from class: com.seewo.ota.api.udiserver.a
            @Override // java.lang.reflect.InvocationHandler
            public final Object invoke(Object obj, Method method, Object[] objArr) {
                return this.f2108b.c(obj, method, objArr);
            }
        });
        this.mNotifyProxy.put((Class<?>) cls, t);
        return t;
    }

    public void registerToUdi(Context context) {
        this.mServiceName = context.getPackageName() + ".udi";
        b.a aVar = new b.a();
        aVar.d(new d.d.c.a.f.a.d.a.a());
        this.mUdiServer = aVar.c(context);
        registerApis();
    }

    private void sendEvent(String str, String str2) {
        ((e) d.d.c.a.f.a.a.a.a(f.z.a.c(e.class))).b(str, str2, null);
    }
}
