RongIM$5.smali

.class Lio/rong/imkit/RongIM$5;
.super Lio/rong/imlib/RongIMClient$OnReceiveMessageWrapperListener;
.source "RongIM.java"


# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
    value = Lio/rong/imkit/RongIM;->initListener()V
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x0
    name = null
.end annotation


# instance fields
.field final synthetic this$0:Lio/rong/imkit/RongIM;


# direct methods
.method constructor <init>(Lio/rong/imkit/RongIM;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongIM$5;->this$0:Lio/rong/imkit/RongIM;

    invoke-direct {p0}, Lio/rong/imlib/RongIMClient$OnReceiveMessageWrapperListener;-><init>()V

    return-void
.end method


# virtual methods
.method public onReceived(Lio/rong/imlib/model/Message;IZZ)Z
    .registers 11

    .line 1
    sget-object v0, Lio/rong/imkit/RongIM;->sMessageListener:Lio/rong/imlib/RongIMClient$OnReceiveMessageListener;

    const/4 v1, 0x0

    if-eqz v0, :cond_15

    .line 2
    instance-of v2, v0, Lio/rong/imlib/RongIMClient$OnReceiveMessageWrapperListener;

    if-eqz v2, :cond_10

    .line 3
    check-cast v0, Lio/rong/imlib/RongIMClient$OnReceiveMessageWrapperListener;

    invoke-virtual {v0, p1, p2, p3, p4}, Lio/rong/imlib/RongIMClient$OnReceiveMessageWrapperListener;->onReceived(Lio/rong/imlib/model/Message;IZZ)Z

    move-result v0

    goto :goto_16

    .line 4
    :cond_10
    invoke-interface {v0, p1, p2}, Lio/rong/imlib/RongIMClient$OnReceiveMessageListener;->onReceived(Lio/rong/imlib/model/Message;I)Z

    move-result v0

    goto :goto_16

    :cond_15
    const/4 v0, 0x0

    .line 5
    :goto_16
    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getContent()Lio/rong/imlib/model/MessageContent;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    const-class v3, Lio/rong/imlib/MessageTag;

    invoke-virtual {v2, v3}, Ljava/lang/Class;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;

    move-result-object v2

    check-cast v2, Lio/rong/imlib/MessageTag;

    if-eqz v2, :cond_c1

    .line 6
    invoke-interface {v2}, Lio/rong/imlib/MessageTag;->flag()I

    move-result v3

    const/4 v4, 0x3

    const/4 v5, 0x1

    if-eq v3, v4, :cond_36

    invoke-interface {v2}, Lio/rong/imlib/MessageTag;->flag()I

    move-result v2

    if-ne v2, v5, :cond_c1

    .line 7
    :cond_36
    # getter for: Lio/rong/imkit/RongIM;->messageInterceptor:Lio/rong/imkit/RongIM$MessageInterceptor;
    invoke-static {}, Lio/rong/imkit/RongIM;->access$600()Lio/rong/imkit/RongIM$MessageInterceptor;

    move-result-object v2

    if-eqz v2, :cond_47

    .line 8
    # getter for: Lio/rong/imkit/RongIM;->messageInterceptor:Lio/rong/imkit/RongIM$MessageInterceptor;
    invoke-static {}, Lio/rong/imkit/RongIM;->access$600()Lio/rong/imkit/RongIM$MessageInterceptor;

    move-result-object v2

    invoke-interface {v2, p1}, Lio/rong/imkit/RongIM$MessageInterceptor;->intercept(Lio/rong/imlib/model/Message;)Z

    move-result v2

    if-eqz v2, :cond_47

    return v5

    .line 9
    :cond_47
    invoke-static {}, Lio/rong/imkit/RongContext;->getInstance()Lio/rong/imkit/RongContext;

    move-result-object v2

    invoke-virtual {v2}, Lio/rong/imkit/RongContext;->getEventBus()Lio/rong/eventbus/EventBus;

    move-result-object v2

    new-instance v3, Lio/rong/imkit/model/Event$OnReceiveMessageEvent;

    invoke-direct {v3, p1, p2, p3, p4}, Lio/rong/imkit/model/Event$OnReceiveMessageEvent;-><init>(Lio/rong/imlib/model/Message;IZZ)V

    invoke-virtual {v2, v3}, Lio/rong/eventbus/EventBus;->post(Ljava/lang/Object;)V

    .line 10
    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getContent()Lio/rong/imlib/model/MessageContent;

    move-result-object p4

    if-eqz p4, :cond_76

    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getContent()Lio/rong/imlib/model/MessageContent;

    move-result-object p4

    invoke-virtual {p4}, Lio/rong/imlib/model/MessageContent;->getUserInfo()Lio/rong/imlib/model/UserInfo;

    move-result-object p4

    if-eqz p4, :cond_76

    .line 11
    invoke-static {}, Lio/rong/imkit/userInfoCache/RongUserInfoManager;->getInstance()Lio/rong/imkit/userInfoCache/RongUserInfoManager;

    move-result-object p4

    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getContent()Lio/rong/imlib/model/MessageContent;

    move-result-object v2

    invoke-virtual {v2}, Lio/rong/imlib/model/MessageContent;->getUserInfo()Lio/rong/imlib/model/UserInfo;

    move-result-object v2

    invoke-virtual {p4, v2}, Lio/rong/imkit/userInfoCache/RongUserInfoManager;->setUserInfo(Lio/rong/imlib/model/UserInfo;)V

    :cond_76
    if-nez v0, :cond_c0

    .line 12
    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getSenderUserId()Ljava/lang/String;

    move-result-object p4

    invoke-static {}, Lio/rong/imkit/RongIM;->getInstance()Lio/rong/imkit/RongIM;

    move-result-object v0

    invoke-virtual {v0}, Lio/rong/imkit/RongIM;->getCurrentUserId()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result p4

    if-eqz p4, :cond_8b

    goto :goto_c0

    .line 13
    :cond_8b
    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getMessageConfig()Lio/rong/imlib/model/MessageConfig;

    move-result-object p4

    if-eqz p4, :cond_96

    .line 14
    invoke-virtual {p4}, Lio/rong/imlib/model/MessageConfig;->isDisableNotification()Z

    move-result p4

    goto :goto_97

    :cond_96
    const/4 p4, 0x0

    :goto_97
    if-nez p2, :cond_ea

    if-nez p3, :cond_ea

    if-nez p4, :cond_ea

    .line 15
    invoke-static {}, Lio/rong/imkit/notification/MessageNotificationManager;->getInstance()Lio/rong/imkit/notification/MessageNotificationManager;

    move-result-object p3

    iget-object p4, p0, Lio/rong/imkit/RongIM$5;->this$0:Lio/rong/imkit/RongIM;

    # getter for: Lio/rong/imkit/RongIM;->mApplicationContext:Landroid/content/Context;
    invoke-static {p4}, Lio/rong/imkit/RongIM;->access$700(Lio/rong/imkit/RongIM;)Landroid/content/Context;

    move-result-object p4

    invoke-virtual {p3, p4, p1, p2}, Lio/rong/imkit/notification/MessageNotificationManager;->notifyIfNeed(Landroid/content/Context;Lio/rong/imlib/model/Message;I)V

    .line 16
    # getter for: Lio/rong/imkit/RongIM;->notificationQuiteHoursConfigured:Z
    invoke-static {}, Lio/rong/imkit/RongIM;->access$500()Z

    move-result p2

    if-nez p2, :cond_ea

    .line 17
    # getter for: Lio/rong/imkit/RongIM;->TAG:Ljava/lang/String;
    invoke-static {}, Lio/rong/imkit/RongIM;->access$000()Ljava/lang/String;

    move-result-object p2

    const-string p3, "OnReceiveMessageListener not get notificationQuietHours get again"

    invoke-static {p2, p3}, Lio/rong/common/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 18
    sget-object p2, Lio/rong/imkit/RongIM$SingletonHolder;->sRongIM:Lio/rong/imkit/RongIM;

    const/4 p3, 0x0

    invoke-virtual {p2, p3}, Lio/rong/imkit/RongIM;->getNotificationQuietHours(Lio/rong/imlib/RongIMClient$GetNotificationQuietHoursCallback;)V

    goto :goto_ea

    :cond_c0
    :goto_c0
    return v5

    :cond_c1
    if-nez v0, :cond_ea

    .line 19
    invoke-virtual {p1}, Lio/rong/imlib/model/Message;->getMessageId()I

    move-result v0

    if-lez v0, :cond_da

    .line 20
    invoke-static {}, Lio/rong/imkit/RongContext;->getInstance()Lio/rong/imkit/RongContext;

    move-result-object v0

    invoke-virtual {v0}, Lio/rong/imkit/RongContext;->getEventBus()Lio/rong/eventbus/EventBus;

    move-result-object v0

    new-instance v2, Lio/rong/imkit/model/Event$OnReceiveMessageEvent;

    invoke-direct {v2, p1, p2, p3, p4}, Lio/rong/imkit/model/Event$OnReceiveMessageEvent;-><init>(Lio/rong/imlib/model/Message;IZZ)V

    invoke-virtual {v0, v2}, Lio/rong/eventbus/EventBus;->post(Ljava/lang/Object;)V

    goto :goto_ea

    .line 21
    :cond_da
    invoke-static {}, Lio/rong/imkit/RongContext;->getInstance()Lio/rong/imkit/RongContext;

    move-result-object p3

    invoke-virtual {p3}, Lio/rong/imkit/RongContext;->getEventBus()Lio/rong/eventbus/EventBus;

    move-result-object p3

    new-instance p4, Lio/rong/imkit/model/Event$MessageLeftEvent;

    invoke-direct {p4, p2}, Lio/rong/imkit/model/Event$MessageLeftEvent;-><init>(I)V

    invoke-virtual {p3, p4}, Lio/rong/eventbus/EventBus;->post(Ljava/lang/Object;)V

    .line 22
    :cond_ea
    :goto_ea
    invoke-static {}, Lio/rong/imkit/RongExtensionManager;->getInstance()Lio/rong/imkit/RongExtensionManager;

    move-result-object p2

    invoke-virtual {p2, p1}, Lio/rong/imkit/RongExtensionManager;->onReceivedMessage(Lio/rong/imlib/model/Message;)V

    return v1
.end method