mac
2023-10-26 de2d3696f975cf6e6df2e580bab305fa9859feea
HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/common/event/EventDispatcher.java
@@ -24,7 +24,7 @@
    private static final LockList<EventListener> ALL_TOPICS_EVENT = new LockList<EventListener>();//所有主题消息
//    private static final ArrayMap<String, List<EventListener>> EVENT = new ArrayMap<>();
    //    private static final ArrayMap<String, List<EventListener>> EVENT = new ArrayMap<>();
    private static final LockArrayMap<String, List<EventListener>> EVENT = new LockArrayMap<String, List<EventListener>>();
    private static final ExecutorService ioThread = ThreadToolUtils.getInstance().newFixedThreadPool(2);
@@ -99,7 +99,7 @@
                        if (ev != null && !ev.isEmpty()) {
//                            TYPE.remove(listener);
                            ev.remove(listener);
                            LogUtils.i(String.format("移除订阅主题:%s,当前回调数量:%s",tag,ev.size()));
                            LogUtils.i(String.format("移除订阅主题:%s,当前回调数量:%s", tag, ev.size()));
                        }
                    }
                } catch (Exception e) {
@@ -112,11 +112,12 @@
    /**
     * 两个主题是否匹配
     * @param desString 字典中的主题
     *
     * @param desString    字典中的主题
     * @param sourceString 接收到的主题
     * @return
     */
    boolean isMatch(String desString,String sourceString) {
    boolean isMatch(String desString, String sourceString) {
        String[] des = desString.split("/");
        String[] source = sourceString.split("/");
        if (des.length != source.length) {
@@ -135,8 +136,9 @@
    /**
     * 事件分发器,分发所有在接口列表中的事件
     *
     * @param topicTag -
     * @param o -
     * @param o        -
     */
    public synchronized void post(String topicTag, final Object o) {
        try {
@@ -171,13 +173,13 @@
//                ThreadToolUtils.getInstance().runOnUiThread(new Runnable() {
//                    @Override
//                    public void run() {
                        if (listener != null) {
                            listener.onMessage(o);
                        }
                if (listener != null) {
                    listener.onMessage(o);
                }
//                    }
//                });
            }
        }catch (Exception e){
        } catch (Exception e) {
            LogUtils.e(e.getMessage());
        }
@@ -189,8 +191,10 @@
    public synchronized void filePost() {
        //TODO
    }
    /**
     * 注册所有主题消息的监听
     *
     * @param listener
     */
    public synchronized void registerAllTopicsListener(EventListener listener) {
@@ -206,6 +210,7 @@
    /**
     * 取消所有主题消息的监听
     *
     * @param listener
     */
    public synchronized void removeAllTopicsListener(EventListener listener) {
@@ -224,13 +229,13 @@
        });
    }
    public synchronized void clear() {
    private synchronized void clear() {
        ALL_TOPICS_EVENT.clear();
        EVENT.clear();
//        TYPE.clear();
    }
    public synchronized void release() {
    private synchronized void release() {
        clear();
        ioThread.shutdownNow();
    }