package com.glu.plugins.gluanalytics.eventbus; import android.util.Log; import androidx.annotation.NonNull; import csdk.glucentralservices.eventbus.IServerEventBus; import csdk.glucentralservices.eventbus.IServerEventHandler; import csdk.glucentralservices.eventbus.ServerEventBus; import java.util.AbstractMap; import java.util.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.Map; import java.util.Set; /* loaded from: classes2.dex */ public abstract class GluEventBus { public static final GluEventBus DISCONNECTED = new DisconnectedEventBus(); private static final String EVT_ACTION = "action"; private static final String EVT_CHANNEL = "channel"; private static final String EVT_DATA = "data"; private static final String EVT_SENDER = "sender"; public static final Object GLOBAL_TOKEN; private static final Set KEYS; public static final GluEventBus SHARED; public interface IEventHandler { void handleEvent(GluEventBus gluEventBus, Object obj, String str, Event event) throws Exception; } public abstract Object globalToken(); public abstract boolean isConnected(); public abstract void publish(Object obj, Event event); public abstract Object subscribe(Object obj, String str, Collection collection, IEventHandler iEventHandler); public abstract void unsubscribe(Object obj); static { GluEventBus createEventBus = createEventBus(); SHARED = createEventBus; GLOBAL_TOKEN = createEventBus.globalToken(); KEYS = createKeys(); } private static GluEventBus createEventBus() { try { return new RealEventBus(ServerEventBus.getShared()); } catch (NoClassDefFoundError unused) { return DISCONNECTED; } } private static Set createKeys() { HashSet hashSet = new HashSet(); hashSet.add("channel"); hashSet.add("action"); hashSet.add(EVT_SENDER); hashSet.add("data"); return hashSet; } public static class Event implements Map { public String action; public String channel; public Map data; public String sender; public Event() { } public Event(String str, String str2, String str3, Map map) { this.channel = str; this.action = str2; this.sender = str3; this.data = map; } @Override // java.util.Map public int size() { return keySet().size(); } @Override // java.util.Map public boolean isEmpty() { return size() == 0; } @Override // java.util.Map public boolean containsKey(Object obj) { return GluEventBus.KEYS.contains(obj); } @Override // java.util.Map public boolean containsValue(Object obj) { return values().contains(obj); } @Override // java.util.Map public Object get(Object obj) { if (obj == null) { return null; } if (obj.equals("channel")) { return this.channel; } if (obj.equals("action")) { return this.action; } if (obj.equals(GluEventBus.EVT_SENDER)) { return this.sender; } if (obj.equals("data")) { return this.data; } return null; } @Override // java.util.Map public Object put(String str, Object obj) { throw new UnsupportedOperationException(); } @Override // java.util.Map public Object remove(Object obj) { throw new UnsupportedOperationException(); } @Override // java.util.Map public void putAll(@NonNull Map map) { throw new UnsupportedOperationException(); } @Override // java.util.Map public void clear() { throw new UnsupportedOperationException(); } @Override // java.util.Map @NonNull public Set keySet() { return GluEventBus.KEYS; } @Override // java.util.Map @NonNull public Collection values() { return Arrays.asList(this.channel, this.action, this.sender, this.data); } @Override // java.util.Map @NonNull public Set> entrySet() { HashSet hashSet = new HashSet(); hashSet.add(new AbstractMap.SimpleImmutableEntry("channel", this.channel)); hashSet.add(new AbstractMap.SimpleImmutableEntry("action", this.action)); hashSet.add(new AbstractMap.SimpleImmutableEntry(GluEventBus.EVT_SENDER, this.sender)); hashSet.add(new AbstractMap.SimpleImmutableEntry("data", this.data)); return hashSet; } } public static class DisconnectedEventBus extends GluEventBus { @Override // com.glu.plugins.gluanalytics.eventbus.GluEventBus public Object globalToken() { return this; } @Override // com.glu.plugins.gluanalytics.eventbus.GluEventBus public boolean isConnected() { return false; } @Override // com.glu.plugins.gluanalytics.eventbus.GluEventBus public void publish(Object obj, Event event) { } @Override // com.glu.plugins.gluanalytics.eventbus.GluEventBus public void unsubscribe(Object obj) { } private DisconnectedEventBus() { } @Override // com.glu.plugins.gluanalytics.eventbus.GluEventBus public Object subscribe(Object obj, String str, Collection collection, IEventHandler iEventHandler) { if (iEventHandler != null) { try { iEventHandler.handleEvent(this, obj, str, new Event("#me", "unsubscribed", "@eb.disconnected", null)); } catch (Exception e) { Log.e("DisconnectedEventBus", "Failed to destroy handler", e); } } return null; } } public static class RealEventBus extends GluEventBus { private final IServerEventBus mEventBus; @Override // com.glu.plugins.gluanalytics.eventbus.GluEventBus public boolean isConnected() { return true; } public RealEventBus(IServerEventBus iServerEventBus) { this.mEventBus = iServerEventBus; } @Override // com.glu.plugins.gluanalytics.eventbus.GluEventBus public Object subscribe(Object obj, String str, Collection collection, final IEventHandler iEventHandler) { return this.mEventBus.subscribe(obj, str, collection, iEventHandler != null ? new IServerEventHandler() { // from class: com.glu.plugins.gluanalytics.eventbus.GluEventBus.RealEventBus.1 @Override // csdk.glucentralservices.eventbus.IServerEventHandler public void handleEvent(IServerEventBus iServerEventBus, Object obj2, String str2, Map map) throws Exception { Event event; if (map != null) { event = new Event(); event.channel = (String) map.get("channel"); event.action = (String) map.get("action"); event.sender = (String) map.get(GluEventBus.EVT_SENDER); event.data = (Map) map.get("data"); } else { event = null; } iEventHandler.handleEvent(RealEventBus.this, obj2, str2, event); } } : null); } @Override // com.glu.plugins.gluanalytics.eventbus.GluEventBus public void unsubscribe(Object obj) { this.mEventBus.unsubscribe(obj); } @Override // com.glu.plugins.gluanalytics.eventbus.GluEventBus public void publish(Object obj, Event event) { this.mEventBus.publish(obj, event); } @Override // com.glu.plugins.gluanalytics.eventbus.GluEventBus public Object globalToken() { return this.mEventBus.globalToken(); } } }