.class public Lcsdk/glucentralservices/eventbus/ServerEventBus; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Lcsdk/glucentralservices/eventbus/IServerEventBus; # static fields .field private static final RES_BAD_JSON_DATA:I = 0x2 .field private static final RES_ERROR:I = 0x3 .field private static final RES_OK:I .field private static final SHARED:Lcsdk/glucentralservices/eventbus/ServerEventBus; # instance fields .field private final mEventBus:J .field private final mGlobalToken:Ljava/lang/Object; .field private final mMIDHandleEvent:J # direct methods .method static constructor ()V .locals 1 .line 14 invoke-static {}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->createShared()Lcsdk/glucentralservices/eventbus/ServerEventBus; move-result-object v0 sput-object v0, Lcsdk/glucentralservices/eventbus/ServerEventBus;->SHARED:Lcsdk/glucentralservices/eventbus/ServerEventBus; return-void .end method .method private constructor (J)V .locals 2 .line 21 invoke-direct {p0}, Ljava/lang/Object;->()V iput-wide p1, p0, Lcsdk/glucentralservices/eventbus/ServerEventBus;->mEventBus:J .line 23 invoke-static {}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->getMIDHandleEvent()J move-result-wide v0 iput-wide v0, p0, Lcsdk/glucentralservices/eventbus/ServerEventBus;->mMIDHandleEvent:J .line 24 invoke-static {p1, p2}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->globalToken(J)J move-result-wide p1 invoke-static {p1, p2}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->tokenFromNativeToken(J)Ljava/lang/Object; move-result-object p1 iput-object p1, p0, Lcsdk/glucentralservices/eventbus/ServerEventBus;->mGlobalToken:Ljava/lang/Object; return-void .end method .method private static createShared()Lcsdk/glucentralservices/eventbus/ServerEventBus; .locals 3 :try_start_0 const-string v0, "glucentralservices" .line 79 invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V :try_end_0 .catch Ljava/lang/UnsatisfiedLinkError; {:try_start_0 .. :try_end_0} :catch_0 .line 81 :catch_0 new-instance v0, Lcsdk/glucentralservices/eventbus/ServerEventBus; invoke-static {}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->shared()J move-result-wide v1 invoke-direct {v0, v1, v2}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->(J)V return-object v0 .end method .method private static doHandleEvent(JJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcsdk/glucentralservices/eventbus/EventHandlerData;)I .locals 13 .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/Exception; } .end annotation move-object/from16 v0, p9 .line 102 invoke-static/range {p8 .. p8}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_0 .line 104 :try_start_0 invoke-static/range {p8 .. p8}, Lcsdk/glucentralservices/eventbus/CollectionUtil;->parseJSON(Ljava/lang/String;)Ljava/util/Map; move-result-object v1 :try_end_0 .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 const/4 v0, 0x2 return v0 :cond_0 const/4 v1, 0x0 .line 111 :goto_0 new-instance v2, Lcsdk/glucentralservices/eventbus/ServerEvent; move-object/from16 v9, p5 move-object/from16 v10, p6 move-object/from16 v11, p7 invoke-direct {v2, v9, v10, v11, v1}, Lcsdk/glucentralservices/eventbus/ServerEvent;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V .line 113 :try_start_1 iget-object v1, v0, Lcsdk/glucentralservices/eventbus/EventHandlerData;->handler:Lcsdk/glucentralservices/eventbus/IServerEventHandler; iget-object v0, v0, Lcsdk/glucentralservices/eventbus/EventHandlerData;->eventBus:Lcsdk/glucentralservices/eventbus/IServerEventBus; invoke-static/range {p2 .. p3}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->tokenFromNativeToken(J)Ljava/lang/Object; move-result-object v3 :try_end_1 .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_2 move-object/from16 v7, p4 :try_start_2 invoke-interface {v1, v0, v3, v7, v2}, Lcsdk/glucentralservices/eventbus/IServerEventHandler;->handleEvent(Lcsdk/glucentralservices/eventbus/IServerEventBus;Ljava/lang/Object;Ljava/lang/String;Ljava/util/Map;)V :try_end_2 .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_1 const/4 v0, 0x0 return v0 :catch_1 move-exception v0 :goto_1 move-object v8, v0 goto :goto_2 :catch_2 move-exception v0 move-object/from16 v7, p4 goto :goto_1 :goto_2 move-wide v3, p0 move-wide v5, p2 move-object/from16 v7, p4 move-object/from16 v9, p5 move-object/from16 v10, p6 move-object/from16 v11, p7 move-object/from16 v12, p8 .line 116 invoke-static/range {v3 .. v12}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->publishError(JJLjava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V const/4 v0, 0x3 return v0 .end method .method private static native getMIDHandleEvent()J .end method .method public static getShared()Lcsdk/glucentralservices/eventbus/IServerEventBus; .locals 1 sget-object v0, Lcsdk/glucentralservices/eventbus/ServerEventBus;->SHARED:Lcsdk/glucentralservices/eventbus/ServerEventBus; return-object v0 .end method .method private static native globalToken(J)J .end method .method private static handleEvent(JJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcsdk/glucentralservices/eventbus/EventHandlerData;)I .locals 13 .line 91 :try_start_0 invoke-static/range {p0 .. p9}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->doHandleEvent(JJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcsdk/glucentralservices/eventbus/EventHandlerData;)I move-result v0 :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 return v0 :catch_0 move-exception v0 move-object v1, v0 const-string v7, "critical" .line 95 invoke-virtual {v1}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String; move-result-object v8 move-wide v2, p0 move-wide v4, p2 move-object/from16 v6, p4 move-object/from16 v9, p5 move-object/from16 v10, p6 move-object/from16 v11, p7 move-object/from16 v12, p8 invoke-static/range {v2 .. v12}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->publishError(JJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V const/4 v0, 0x3 return v0 .end method .method private static nativeTokenFromToken(Ljava/lang/Object;)J .locals 2 if-eqz p0, :cond_0 .line 126 check-cast p0, Ljava/lang/Long; invoke-virtual {p0}, Ljava/lang/Long;->longValue()J move-result-wide v0 goto :goto_0 :cond_0 const-wide/16 v0, 0x0 :goto_0 return-wide v0 .end method .method private static native publish(JJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V .end method .method private static native publishError(JJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V .end method .method private static publishError(JJLjava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V .locals 12 .line 130 invoke-virtual/range {p5 .. p5}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v0 invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object v6 invoke-virtual/range {p5 .. p5}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String; move-result-object v7 move-wide v1, p0 move-wide v3, p2 move-object/from16 v5, p4 move-object/from16 v8, p6 move-object/from16 v9, p7 move-object/from16 v10, p8 move-object/from16 v11, p9 invoke-static/range {v1 .. v11}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->publishError(JJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V return-void .end method .method private static native shared()J .end method .method private static native subscribe(JJJLjava/lang/String;[Ljava/lang/String;Lcsdk/glucentralservices/eventbus/EventHandlerData;)J .end method .method private static tokenFromNativeToken(J)Ljava/lang/Object; .locals 0 .line 122 invoke-static {p0, p1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object p0 return-object p0 .end method .method private static native unsubscribe(JJ)V .end method # virtual methods .method public globalToken()Ljava/lang/Object; .locals 1 .line 0 iget-object v0, p0, Lcsdk/glucentralservices/eventbus/ServerEventBus;->mGlobalToken:Ljava/lang/Object; return-object v0 .end method .method public publish(Ljava/lang/Object;Ljava/util/Map;)V .locals 24 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Object;", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Object;", ">;)V" } .end annotation move-object/from16 v1, p0 move-object/from16 v0, p2 const/4 v2, 0x0 if-eqz v0, :cond_1 :try_start_0 const-string v3, "channel" .line 63 invoke-interface {v0, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/lang/String; :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_3 :try_start_1 const-string v4, "action" .line 64 invoke-interface {v0, v4}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v4 check-cast v4, Ljava/lang/String; :try_end_1 .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_2 :try_start_2 const-string v5, "sender" .line 65 invoke-interface {v0, v5}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v5 check-cast v5, Ljava/lang/String; :try_end_2 .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_1 :try_start_3 const-string v6, "data" .line 66 invoke-interface {v0, v6}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/Map; if-eqz v0, :cond_0 .line 68 invoke-static {v0}, Lcsdk/glucentralservices/eventbus/CollectionUtil;->toJSON(Ljava/lang/Object;)Ljava/lang/String; move-result-object v2 :try_end_3 .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_3} :catch_0 goto :goto_0 :catch_0 move-exception v0 move-object v11, v0 move-object v12, v3 move-object v13, v4 move-object v14, v5 goto :goto_1 :cond_0 :goto_0 move-object/from16 v23, v2 move-object/from16 v20, v3 move-object/from16 v21, v4 move-object/from16 v22, v5 goto :goto_2 :catch_1 move-exception v0 move-object v11, v0 move-object v14, v2 move-object v12, v3 move-object v13, v4 goto :goto_1 :catch_2 move-exception v0 move-object v11, v0 move-object v13, v2 move-object v14, v13 move-object v12, v3 goto :goto_1 :catch_3 move-exception v0 move-object v11, v0 move-object v12, v2 move-object v13, v12 move-object v14, v13 :goto_1 iget-wide v6, v1, Lcsdk/glucentralservices/eventbus/ServerEventBus;->mEventBus:J .line 70 invoke-static/range {p1 .. p1}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->nativeTokenFromToken(Ljava/lang/Object;)J move-result-wide v8 const/4 v10, 0x0 const/4 v15, 0x0 invoke-static/range {v6 .. v15}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->publishError(JJLjava/lang/String;Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V return-void :cond_1 move-object/from16 v20, v2 move-object/from16 v21, v20 move-object/from16 v22, v21 move-object/from16 v23, v22 :goto_2 iget-wide v2, v1, Lcsdk/glucentralservices/eventbus/ServerEventBus;->mEventBus:J .line 74 invoke-static/range {p1 .. p1}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->nativeTokenFromToken(Ljava/lang/Object;)J move-result-wide v18 move-wide/from16 v16, v2 invoke-static/range {v16 .. v23}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->publish(JJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V return-void .end method .method public subscribe(Ljava/lang/Object;Ljava/lang/String;Ljava/util/Collection;Lcsdk/glucentralservices/eventbus/IServerEventHandler;)Ljava/lang/Object; .locals 10 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Object;", "Ljava/lang/String;", "Ljava/util/Collection<", "Ljava/lang/String;", ">;", "Lcsdk/glucentralservices/eventbus/IServerEventHandler;", ")", "Ljava/lang/Object;" } .end annotation if-eqz p3, :cond_0 .line 40 invoke-interface {p3}, Ljava/util/Collection;->size()I move-result v0 new-array v0, v0, [Ljava/lang/String; .line 41 invoke-interface {p3, v0}, Ljava/util/Collection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; :goto_0 move-object v8, v0 goto :goto_1 :cond_0 const/4 v0, 0x0 goto :goto_0 .line 43 :goto_1 new-instance v9, Lcsdk/glucentralservices/eventbus/EventHandlerData; invoke-direct {v9, p0, p4}, Lcsdk/glucentralservices/eventbus/EventHandlerData;->(Lcsdk/glucentralservices/eventbus/IServerEventBus;Lcsdk/glucentralservices/eventbus/IServerEventHandler;)V iget-wide v1, p0, Lcsdk/glucentralservices/eventbus/ServerEventBus;->mEventBus:J .line 44 invoke-static {p1}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->nativeTokenFromToken(Ljava/lang/Object;)J move-result-wide v3 iget-wide v5, p0, Lcsdk/glucentralservices/eventbus/ServerEventBus;->mMIDHandleEvent:J move-object v7, p2 invoke-static/range {v1 .. v9}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->subscribe(JJJLjava/lang/String;[Ljava/lang/String;Lcsdk/glucentralservices/eventbus/EventHandlerData;)J move-result-wide p1 .line 45 invoke-static {p1, p2}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->tokenFromNativeToken(J)Ljava/lang/Object; move-result-object p1 return-object p1 .end method .method public unsubscribe(Ljava/lang/Object;)V .locals 4 iget-wide v0, p0, Lcsdk/glucentralservices/eventbus/ServerEventBus;->mEventBus:J .line 50 invoke-static {p1}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->nativeTokenFromToken(Ljava/lang/Object;)J move-result-wide v2 invoke-static {v0, v1, v2, v3}, Lcsdk/glucentralservices/eventbus/ServerEventBus;->unsubscribe(JJ)V return-void .end method