| | |
| | | */
|
| | | public synchronized void post(String topicTag, @NonNull Object o) {
|
| | | try {
|
| | | // LogUtils.e("EventDispatcher", "===15");
|
| | | for (String key : EVENT.keySet()) {
|
| | | if (!isMatch(key, topicTag)) {
|
| | | continue;
|
| | | }
|
| | | // LogUtils.e("EventDispatcher", "===16");
|
| | | List<EventListener> list = EVENT.get(key);
|
| | | if (list != null && !list.isEmpty()) {
|
| | | for (EventListener listener : list) {
|
| | | if(listener==null){
|
| | | continue;
|
| | | }
|
| | | // LogUtils.e("EventDispatcher", "===17");
|
| | | //需要异步回调的
|
| | | if(ASYNC_EVENT.contains(listener)) {
|
| | | // LogUtils.e("EventDispatcher", "===18");
|
| | | runOnSubThread(listener,o);
|
| | | }
|
| | | else {
|
| | | // LogUtils.e("EventDispatcher", "===19");
|
| | | runOnUIThread(listener,o);
|
| | | }
|
| | | }
|
| | |
| | | if (ALL_TOPICS_EVENT == null || ALL_TOPICS_EVENT.isEmpty()) {
|
| | | return;
|
| | | }
|
| | | // LogUtils.e("EventDispatcher", "===20");
|
| | | //开发分发事件
|
| | | for (EventListener listener : ALL_TOPICS_EVENT) {
|
| | | runOnUIThread(listener, o);
|
| | | }
|
| | | // LogUtils.e("EventDispatcher", "===21");
|
| | | }catch (Exception e){
|
| | | LogUtils.e(e.getMessage());
|
| | | }
|
| | |
| | | @Override
|
| | | public void run() {
|
| | | try {
|
| | | // LogUtils.e("EventDispatcher", "===22");
|
| | | eventListener.onMessage(o);
|
| | | } catch (Exception e) {
|
| | | LogUtils.e("runOnSubThread数据异常", o + " " + e.getMessage());
|
| | |
| | | @Override
|
| | | public void run() {
|
| | | try {
|
| | | // LogUtils.e("EventDispatcher", "===23");
|
| | | eventListener.onMessage(o);
|
| | | } catch (Exception e) {
|
| | | LogUtils.e("runOnUIThread数据异常", o + " " + e.getMessage());
|