package com.ifpdos.sdk.udi.opensdk;

import android.util.Log;
import com.seewo.sdk.OpenSDK;
import com.seewo.sdk.internal.model.LibMcuCallback;
import java.lang.reflect.Constructor;
import java.util.HashMap;
import java.util.Map;

/* JADX INFO: loaded from: classes.dex */
public class UdiEventAdaptor implements OpenSDK.IExtendCallbackRegister {
    private static final String TAG = "EventAdaptor";
    private Map<String, EventHandler> mHandlers = new HashMap();
    private Map<Class<?>, String> mUrlMap = new HashMap();

    private String getUrlFromEventClass(Class<?> cls) {
        if (this.mUrlMap.containsKey(cls)) {
            return this.mUrlMap.get(cls);
        }
        for (Class<?> cls2 : cls.getInterfaces()) {
            if (cls2 == IUdiEvent.class) {
                try {
                    Constructor<?> declaredConstructor = cls.getDeclaredConstructor(new Class[0]);
                    declaredConstructor.setAccessible(true);
                    String url = ((IUdiEvent) declaredConstructor.newInstance(new Object[0])).getUrl();
                    this.mUrlMap.put(cls, url);
                    return url;
                } catch (Throwable th) {
                    Log.d(TAG, "newInstance for event failed, class : " + cls, th);
                    return null;
                }
            }
        }
        this.mUrlMap.put(cls, null);
        return null;
    }

    @Override // com.seewo.sdk.OpenSDK.IExtendCallbackRegister
    public synchronized void registerCallback(Class<?> cls, LibMcuCallback libMcuCallback) {
        String urlFromEventClass = getUrlFromEventClass(cls);
        if (urlFromEventClass == null) {
            return;
        }
        EventHandler eventHandler = this.mHandlers.get(urlFromEventClass);
        if (eventHandler == null) {
            eventHandler = new EventHandler(cls.getName(), urlFromEventClass);
            this.mHandlers.put(urlFromEventClass, eventHandler);
            Log.d(TAG, "add handler for " + urlFromEventClass + ", event class " + cls);
        }
        eventHandler.addCallback(libMcuCallback);
    }

    @Override // com.seewo.sdk.OpenSDK.IExtendCallbackRegister
    public synchronized void unregisterCallback(Class<?> cls, LibMcuCallback libMcuCallback) {
        String urlFromEventClass = getUrlFromEventClass(cls);
        if (urlFromEventClass == null) {
            return;
        }
        EventHandler eventHandler = this.mHandlers.get(urlFromEventClass);
        if (eventHandler != null) {
            eventHandler.removeCallback(libMcuCallback);
        }
    }
}
