RongContext.smali

.class public Lio/rong/imkit/RongContext;
.super Ljava/lang/Object;
.source "RongContext.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lio/rong/imkit/RongContext$Holder;
    }
.end annotation


# static fields
.field private static final NOTIFICATION_CACHE_MAX_COUNT:I = 0x40

.field private static final TAG:Ljava/lang/String; = "RongContext"

.field private static imageDownloader:Lio/rong/imageloader/core/download/ImageDownloader;


# instance fields
.field private evaluateTextMessageItemProvider:Lio/rong/imkit/widget/provider/EvaluateTextMessageItemProvider;

.field private executorService:Ljava/util/concurrent/ExecutorService;

.field private isShowNewMessageState:Z

.field private isShowUnreadMessageState:Z

.field private isUserInfoAttached:Z

.field private mBus:Lio/rong/eventbus/EventBus;

.field private mConversationBehaviorListener:Lio/rong/imkit/RongIM$ConversationBehaviorListener;

.field private mConversationClickListener:Lio/rong/imkit/RongIM$ConversationClickListener;

.field private mConversationListBehaviorListener:Lio/rong/imkit/RongIM$ConversationListBehaviorListener;

.field private mConversationProviderMap:Ljava/util/Map;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Map<",
            "Ljava/lang/String;",
            "Lio/rong/imkit/widget/provider/IContainerItemProvider$ConversationProvider;",
            ">;"
        }
    .end annotation
.end field

.field private mConversationTagMap:Ljava/util/Map;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Map<",
            "Ljava/lang/String;",
            "Lio/rong/imkit/model/ConversationProviderTag;",
            ">;"
        }
    .end annotation
.end field

.field private mCurrentConversationList:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation
.end field

.field private mCurrentUserInfo:Lio/rong/imlib/model/UserInfo;

.field private mGroupProvider:Lio/rong/imkit/RongIM$GroupInfoProvider;

.field private mGroupUserInfoProvider:Lio/rong/imkit/RongIM$GroupUserInfoProvider;

.field private mHandler:Landroid/os/Handler;

.field private mLocationProvider:Lio/rong/imkit/RongIM$LocationProvider;

.field private mMemberSelectListener:Lio/rong/imkit/RongIM$OnSelectMemberListener;

.field private mNotificationCache:Lio/rong/imkit/cache/RongCache;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lio/rong/imkit/cache/RongCache<",
            "Ljava/lang/String;",
            "Lio/rong/imlib/model/Conversation$ConversationNotificationStatus;",
            ">;"
        }
    .end annotation
.end field

.field private mOnSendMessageListener:Lio/rong/imkit/RongIM$OnSendMessageListener;

.field private mProviderMap:Ljava/util/Map;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Map<",
            "Ljava/lang/Class<",
            "+",
            "Lio/rong/imlib/model/MessageContent;",
            ">;",
            "Lio/rong/imkit/model/ProviderTag;",
            ">;"
        }
    .end annotation
.end field

.field private mPublicServiceBehaviorListener:Lio/rong/imkit/RongIM$PublicServiceBehaviorListener;

.field private mPublicServiceMenuClickListener:Lio/rong/imkit/IPublicServiceMenuClickListener;

.field private mPublicServiceProfileProvider:Lio/rong/imkit/RongIM$PublicServiceProfileProvider;

.field private mReadReceiptConversationTypeList:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Lio/rong/imlib/model/Conversation$ConversationType;",
            ">;"
        }
    .end annotation
.end field

.field private mRequestPermissionsListener:Lio/rong/imkit/RongIM$RequestPermissionsListener;

.field private mTemplateMap:Ljava/util/Map;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Map<",
            "Ljava/lang/Class<",
            "+",
            "Lio/rong/imlib/model/MessageContent;",
            ">;",
            "Lio/rong/imkit/widget/provider/IContainerItemProvider$MessageProvider;",
            ">;"
        }
    .end annotation
.end field

.field private mUserInfoProvider:Lio/rong/imkit/RongIM$UserInfoProvider;

.field private mWeakTemplateMap:Ljava/util/Map;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Map<",
            "Ljava/lang/Class<",
            "+",
            "Lio/rong/imlib/model/MessageContent;",
            ">;",
            "Lio/rong/imkit/widget/provider/IContainerItemProvider$MessageProvider;",
            ">;"
        }
    .end annotation
.end field

.field private notificationSound:Landroid/net/Uri;


# direct methods
.method private constructor <init>()V
    .registers 3

    .line 2
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 3
    invoke-static {}, Lio/rong/eventbus/EventBus;->getDefault()Lio/rong/eventbus/EventBus;

    move-result-object v0

    iput-object v0, p0, Lio/rong/imkit/RongContext;->mBus:Lio/rong/eventbus/EventBus;

    .line 4
    new-instance v0, Landroid/os/Handler;

    invoke-direct {v0}, Landroid/os/Handler;-><init>()V

    iput-object v0, p0, Lio/rong/imkit/RongContext;->mHandler:Landroid/os/Handler;

    .line 5
    new-instance v0, Ljava/util/HashMap;

    invoke-direct {v0}, Ljava/util/HashMap;-><init>()V

    iput-object v0, p0, Lio/rong/imkit/RongContext;->mTemplateMap:Ljava/util/Map;

    .line 6
    new-instance v0, Lio/rong/imlib/common/WeakValueHashMap;

    invoke-direct {v0}, Lio/rong/imlib/common/WeakValueHashMap;-><init>()V

    iput-object v0, p0, Lio/rong/imkit/RongContext;->mWeakTemplateMap:Ljava/util/Map;

    .line 7
    new-instance v0, Ljava/util/HashMap;

    invoke-direct {v0}, Ljava/util/HashMap;-><init>()V

    iput-object v0, p0, Lio/rong/imkit/RongContext;->mProviderMap:Ljava/util/Map;

    .line 8
    new-instance v0, Ljava/util/HashMap;

    invoke-direct {v0}, Ljava/util/HashMap;-><init>()V

    iput-object v0, p0, Lio/rong/imkit/RongContext;->mConversationProviderMap:Ljava/util/Map;

    .line 9
    new-instance v0, Ljava/util/HashMap;

    invoke-direct {v0}, Ljava/util/HashMap;-><init>()V

    iput-object v0, p0, Lio/rong/imkit/RongContext;->mConversationTagMap:Ljava/util/Map;

    .line 10
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    iput-object v0, p0, Lio/rong/imkit/RongContext;->mCurrentConversationList:Ljava/util/List;

    .line 11
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    iput-object v0, p0, Lio/rong/imkit/RongContext;->mReadReceiptConversationTypeList:Ljava/util/List;

    .line 12
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mReadReceiptConversationTypeList:Ljava/util/List;

    sget-object v1, Lio/rong/imlib/model/Conversation$ConversationType;->PRIVATE:Lio/rong/imlib/model/Conversation$ConversationType;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 13
    invoke-direct {p0}, Lio/rong/imkit/RongContext;->initCache()V

    .line 14
    invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService;

    move-result-object v0

    iput-object v0, p0, Lio/rong/imkit/RongContext;->executorService:Ljava/util/concurrent/ExecutorService;

    return-void
.end method

.method synthetic constructor <init>(Lio/rong/imkit/RongContext$1;)V
    .registers 2

    .line 1
    invoke-direct {p0}, Lio/rong/imkit/RongContext;-><init>()V

    return-void
.end method

.method static synthetic access$200(Lio/rong/imkit/RongContext;)Landroid/os/Handler;
    .registers 1

    .line 1
    iget-object p0, p0, Lio/rong/imkit/RongContext;->mHandler:Landroid/os/Handler;

    return-object p0
.end method

.method public static getInstance()Lio/rong/imkit/RongContext;
    .registers 1

    .line 1
    sget-object v0, Lio/rong/imkit/RongContext$Holder;->sInstance:Lio/rong/imkit/RongContext;

    return-object v0
.end method

.method private initCache()V
    .registers 3

    .line 1
    new-instance v0, Lio/rong/imkit/RongContext$1;

    const/16 v1, 0x40

    invoke-direct {v0, p0, p0, v1}, Lio/rong/imkit/RongContext$1;-><init>(Lio/rong/imkit/RongContext;Lio/rong/imkit/RongContext;I)V

    iput-object v0, p0, Lio/rong/imkit/RongContext;->mNotificationCache:Lio/rong/imkit/cache/RongCache;

    return-void
.end method

.method public static setImageLoaderDownloader(Lio/rong/imageloader/core/download/ImageDownloader;)V
    .registers 1

    .line 1
    sput-object p0, Lio/rong/imkit/RongContext;->imageDownloader:Lio/rong/imageloader/core/download/ImageDownloader;

    return-void
.end method


# virtual methods
.method public clearConversationNotifyStatusCache()V
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mNotificationCache:Lio/rong/imkit/cache/RongCache;

    invoke-virtual {v0}, Lio/rong/imkit/cache/RongCache;->clear()V

    return-void
.end method

.method public executorBackground(Ljava/lang/Runnable;)V
    .registers 3

    if-nez p1, :cond_3

    return-void

    .line 1
    :cond_3
    iget-object v0, p0, Lio/rong/imkit/RongContext;->executorService:Ljava/util/concurrent/ExecutorService;

    invoke-interface {v0, p1}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V

    return-void
.end method

.method public getConversationBehaviorListener()Lio/rong/imkit/RongIM$ConversationBehaviorListener;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mConversationBehaviorListener:Lio/rong/imkit/RongIM$ConversationBehaviorListener;

    return-object v0
.end method

.method public getConversationClickListener()Lio/rong/imkit/RongIM$ConversationClickListener;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mConversationClickListener:Lio/rong/imkit/RongIM$ConversationClickListener;

    return-object v0
.end method

.method public getConversationListBehaviorListener()Lio/rong/imkit/RongIM$ConversationListBehaviorListener;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mConversationListBehaviorListener:Lio/rong/imkit/RongIM$ConversationListBehaviorListener;

    return-object v0
.end method

.method public getConversationListener()Ljava/lang/Object;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mConversationClickListener:Lio/rong/imkit/RongIM$ConversationClickListener;

    if-eqz v0, :cond_5

    return-object v0

    .line 2
    :cond_5
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mConversationBehaviorListener:Lio/rong/imkit/RongIM$ConversationBehaviorListener;

    if-eqz v0, :cond_a

    return-object v0

    :cond_a
    const/4 v0, 0x0

    return-object v0
.end method

.method public getConversationNotifyStatusFromCache(Lio/rong/imkit/model/ConversationKey;)Lio/rong/imlib/model/Conversation$ConversationNotificationStatus;
    .registers 3

    if-eqz p1, :cond_15

    .line 1
    invoke-virtual {p1}, Lio/rong/imkit/model/ConversationKey;->getKey()Ljava/lang/String;

    move-result-object v0

    if-eqz v0, :cond_15

    .line 2
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mNotificationCache:Lio/rong/imkit/cache/RongCache;

    invoke-virtual {p1}, Lio/rong/imkit/model/ConversationKey;->getKey()Ljava/lang/String;

    move-result-object p1

    invoke-virtual {v0, p1}, Lio/rong/imkit/cache/RongCache;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Lio/rong/imlib/model/Conversation$ConversationNotificationStatus;

    goto :goto_16

    :cond_15
    const/4 p1, 0x0

    :goto_16
    return-object p1
.end method

.method public getConversationProviderTag(Ljava/lang/String;)Lio/rong/imkit/model/ConversationProviderTag;
    .registers 3

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mConversationProviderMap:Ljava/util/Map;

    invoke-interface {v0, p1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_11

    .line 2
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mConversationTagMap:Ljava/util/Map;

    invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Lio/rong/imkit/model/ConversationProviderTag;

    return-object p1

    .line 3
    :cond_11
    new-instance p1, Ljava/lang/RuntimeException;

    const-string v0, "the conversation type hasn\'t been registered!"

    invoke-direct {p1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V

    throw p1
.end method

.method public getConversationTemplate(Ljava/lang/String;)Lio/rong/imkit/widget/provider/IContainerItemProvider$ConversationProvider;
    .registers 3

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mConversationProviderMap:Ljava/util/Map;

    invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Lio/rong/imkit/widget/provider/IContainerItemProvider$ConversationProvider;

    return-object p1
.end method

.method public getCurrentConversationList()Ljava/util/List;
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List<",
            "Lio/rong/imkit/model/ConversationInfo;",
            ">;"
        }
    .end annotation

    .line 1
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    .line 2
    iget-object v1, p0, Lio/rong/imkit/RongContext;->mCurrentConversationList:Ljava/util/List;

    invoke-interface {v1}, Ljava/util/List;->size()I

    move-result v1

    if-lez v1, :cond_2e

    const/4 v2, 0x0

    :goto_e
    if-ge v2, v1, :cond_2e

    .line 3
    iget-object v3, p0, Lio/rong/imkit/RongContext;->mCurrentConversationList:Ljava/util/List;

    invoke-interface {v3, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Ljava/lang/String;

    invoke-static {v3}, Lio/rong/imkit/model/ConversationKey;->obtain(Ljava/lang/String;)Lio/rong/imkit/model/ConversationKey;

    move-result-object v3

    .line 4
    invoke-virtual {v3}, Lio/rong/imkit/model/ConversationKey;->getType()Lio/rong/imlib/model/Conversation$ConversationType;

    move-result-object v4

    invoke-virtual {v3}, Lio/rong/imkit/model/ConversationKey;->getTargetId()Ljava/lang/String;

    move-result-object v3

    invoke-static {v4, v3}, Lio/rong/imkit/model/ConversationInfo;->obtain(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;)Lio/rong/imkit/model/ConversationInfo;

    move-result-object v3

    .line 5
    invoke-virtual {v0, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    add-int/lit8 v2, v2, 0x1

    goto :goto_e

    :cond_2e
    return-object v0
.end method

.method public getCurrentUserInfo()Lio/rong/imlib/model/UserInfo;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mCurrentUserInfo:Lio/rong/imlib/model/UserInfo;

    if-eqz v0, :cond_5

    return-object v0

    :cond_5
    const/4 v0, 0x0

    return-object v0
.end method

.method getDefaultConfig(Landroid/content/Context;)Lio/rong/imageloader/core/ImageLoaderConfiguration;
    .registers 8

    const-string v0, "image"

    .line 1
    invoke-static {p1, v0}, Lio/rong/common/FileUtils;->getInternalCachePath(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 2
    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-eqz v1, :cond_26

    .line 3
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "/cache/image/"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {p1, v0}, Lio/rong/imageloader/utils/StorageUtils;->getOwnCacheDirectory(Landroid/content/Context;Ljava/lang/String;)Ljava/io/File;

    move-result-object v0

    goto :goto_2c

    .line 4
    :cond_26
    new-instance v1, Ljava/io/File;

    invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V

    move-object v0, v1

    .line 5
    :goto_2c
    :try_start_2c
    new-instance v1, Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;

    invoke-direct {v1, p1}, Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;-><init>(Landroid/content/Context;)V

    const/4 v2, 0x3

    .line 6
    invoke-virtual {v1, v2}, Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;->threadPoolSize(I)Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;

    move-result-object v1

    .line 7
    invoke-virtual {v1, v2}, Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;->threadPriority(I)Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;

    move-result-object v1

    .line 8
    invoke-virtual {v1}, Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;->denyCacheImageMultipleSizesInMemory()Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;

    move-result-object v1

    new-instance v2, Lio/rong/imageloader/cache/disc/impl/ext/LruDiskCache;

    new-instance v3, Lio/rong/imageloader/cache/disc/naming/Md5FileNameGenerator;

    invoke-direct {v3}, Lio/rong/imageloader/cache/disc/naming/Md5FileNameGenerator;-><init>()V

    const-wide/16 v4, 0x0

    invoke-direct {v2, v0, v3, v4, v5}, Lio/rong/imageloader/cache/disc/impl/ext/LruDiskCache;-><init>(Ljava/io/File;Lio/rong/imageloader/cache/disc/naming/FileNameGenerator;J)V

    .line 9
    invoke-virtual {v1, v2}, Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;->diskCache(Lio/rong/imageloader/cache/disc/DiskCache;)Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;

    move-result-object v0

    .line 10
    invoke-static {}, Lio/rong/imageloader/core/DisplayImageOptions;->createSimple()Lio/rong/imageloader/core/DisplayImageOptions;

    move-result-object v1

    invoke-virtual {v0, v1}, Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;->defaultDisplayImageOptions(Lio/rong/imageloader/core/DisplayImageOptions;)Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;

    move-result-object v0

    .line 11
    sget-object v1, Lio/rong/imkit/RongContext;->imageDownloader:Lio/rong/imageloader/core/download/ImageDownloader;

    if-eqz v1, :cond_60

    .line 12
    sget-object v1, Lio/rong/imkit/RongContext;->imageDownloader:Lio/rong/imageloader/core/download/ImageDownloader;

    invoke-virtual {v0, v1}, Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;->imageDownloader(Lio/rong/imageloader/core/download/ImageDownloader;)Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;

    goto :goto_68

    .line 13
    :cond_60
    new-instance v1, Lio/rong/imkit/utils/RongAuthImageDownloader;

    invoke-direct {v1, p1}, Lio/rong/imkit/utils/RongAuthImageDownloader;-><init>(Landroid/content/Context;)V

    invoke-virtual {v0, v1}, Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;->imageDownloader(Lio/rong/imageloader/core/download/ImageDownloader;)Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;

    .line 14
    :goto_68
    invoke-static {}, Lio/rong/imlib/common/SavePathUtils;->isSavePathEmpty()Z

    move-result v1

    if-nez v1, :cond_77

    .line 15
    invoke-static {}, Lio/rong/imlib/common/SavePathUtils;->getSavePath()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;->build(Ljava/lang/String;)Lio/rong/imageloader/core/ImageLoaderConfiguration;

    move-result-object v0

    goto :goto_7b

    .line 16
    :cond_77
    invoke-virtual {v0}, Lio/rong/imageloader/core/ImageLoaderConfiguration$Builder;->build()Lio/rong/imageloader/core/ImageLoaderConfiguration;

    move-result-object v0

    :goto_7b
    const/4 v1, 0x0

    .line 17
    invoke-static {v1}, Lio/rong/imageloader/utils/L;->writeLogs(Z)V
    :try_end_7f
    .catch Ljava/io/IOException; {:try_start_2c .. :try_end_7f} :catch_80

    return-object v0

    :catch_80
    nop

    const-string v0, "RongContext"

    const-string v1, "Use default ImageLoader config."

    .line 18
    invoke-static {v0, v1}, Lio/rong/common/RLog;->i(Ljava/lang/String;Ljava/lang/String;)I

    .line 19
    invoke-static {}, Lio/rong/imlib/common/SavePathUtils;->isSavePathEmpty()Z

    move-result v0

    if-nez v0, :cond_97

    .line 20
    invoke-static {}, Lio/rong/imlib/common/SavePathUtils;->getSavePath()Ljava/lang/String;

    move-result-object v0

    invoke-static {p1, v0}, Lio/rong/imageloader/core/ImageLoaderConfiguration;->createDefault(Landroid/content/Context;Ljava/lang/String;)Lio/rong/imageloader/core/ImageLoaderConfiguration;

    move-result-object p1

    goto :goto_9b

    .line 21
    :cond_97
    invoke-static {p1}, Lio/rong/imageloader/core/ImageLoaderConfiguration;->createDefault(Landroid/content/Context;)Lio/rong/imageloader/core/ImageLoaderConfiguration;

    move-result-object p1

    :goto_9b
    return-object p1
.end method

.method public getDiscussionInfoFromCache(Ljava/lang/String;)Lio/rong/imlib/model/Discussion;
    .registers 3

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

    move-result-object v0

    invoke-virtual {v0, p1}, Lio/rong/imkit/userInfoCache/RongUserInfoManager;->getDiscussionInfo(Ljava/lang/String;)Lio/rong/imlib/model/Discussion;

    move-result-object p1

    return-object p1
.end method

.method public getEvaluateProvider()Lio/rong/imkit/widget/provider/EvaluateTextMessageItemProvider;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->evaluateTextMessageItemProvider:Lio/rong/imkit/widget/provider/EvaluateTextMessageItemProvider;

    if-nez v0, :cond_b

    .line 2
    new-instance v0, Lio/rong/imkit/widget/provider/EvaluateTextMessageItemProvider;

    invoke-direct {v0}, Lio/rong/imkit/widget/provider/EvaluateTextMessageItemProvider;-><init>()V

    iput-object v0, p0, Lio/rong/imkit/RongContext;->evaluateTextMessageItemProvider:Lio/rong/imkit/widget/provider/EvaluateTextMessageItemProvider;

    .line 3
    :cond_b
    iget-object v0, p0, Lio/rong/imkit/RongContext;->evaluateTextMessageItemProvider:Lio/rong/imkit/widget/provider/EvaluateTextMessageItemProvider;

    return-object v0
.end method

.method public getEventBus()Lio/rong/eventbus/EventBus;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mBus:Lio/rong/eventbus/EventBus;

    return-object v0
.end method

.method public getGatheredConversationTitle(Landroid/content/Context;Lio/rong/imlib/model/Conversation$ConversationType;)Ljava/lang/String;
    .registers 4

    .line 1
    sget-object v0, Lio/rong/imkit/RongContext$2;->$SwitchMap$io$rong$imlib$model$Conversation$ConversationType:[I

    invoke-virtual {p2}, Ljava/lang/Enum;->ordinal()I

    move-result p2

    aget p2, v0, p2

    packed-switch p2, :pswitch_data_4e

    .line 2
    sget-object p1, Ljava/lang/System;->err:Ljava/io/PrintStream;

    const-string p2, "It\'s not the default conversation type!!"

    invoke-virtual {p1, p2}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V

    const-string p1, ""

    goto :goto_4c

    .line 3
    :pswitch_15
    sget p2, Lio/rong/imkit/R$string;->rc_conversation_list_public_service:I

    invoke-virtual {p1, p2}, Landroid/content/Context;->getString(I)Ljava/lang/String;

    move-result-object p1

    goto :goto_4c

    .line 4
    :pswitch_1c
    sget p2, Lio/rong/imkit/R$string;->rc_conversation_list_app_public_service:I

    invoke-virtual {p1, p2}, Landroid/content/Context;->getString(I)Ljava/lang/String;

    move-result-object p1

    goto :goto_4c

    .line 5
    :pswitch_23
    sget p2, Lio/rong/imkit/R$string;->rc_conversation_list_system_conversation:I

    invoke-virtual {p1, p2}, Landroid/content/Context;->getString(I)Ljava/lang/String;

    move-result-object p1

    goto :goto_4c

    .line 6
    :pswitch_2a
    sget p2, Lio/rong/imkit/R$string;->rc_conversation_list_my_customer_service:I

    invoke-virtual {p1, p2}, Landroid/content/Context;->getString(I)Ljava/lang/String;

    move-result-object p1

    goto :goto_4c

    .line 7
    :pswitch_31
    sget p2, Lio/rong/imkit/R$string;->rc_conversation_list_my_chatroom:I

    invoke-virtual {p1, p2}, Landroid/content/Context;->getString(I)Ljava/lang/String;

    move-result-object p1

    goto :goto_4c

    .line 8
    :pswitch_38
    sget p2, Lio/rong/imkit/R$string;->rc_conversation_list_my_discussion:I

    invoke-virtual {p1, p2}, Landroid/content/Context;->getString(I)Ljava/lang/String;

    move-result-object p1

    goto :goto_4c

    .line 9
    :pswitch_3f
    sget p2, Lio/rong/imkit/R$string;->rc_conversation_list_my_group:I

    invoke-virtual {p1, p2}, Landroid/content/Context;->getString(I)Ljava/lang/String;

    move-result-object p1

    goto :goto_4c

    .line 10
    :pswitch_46
    sget p2, Lio/rong/imkit/R$string;->rc_conversation_list_my_private_conversation:I

    invoke-virtual {p1, p2}, Landroid/content/Context;->getString(I)Ljava/lang/String;

    move-result-object p1

    :goto_4c
    return-object p1

    nop

    :pswitch_data_4e
    .packed-switch 0x1
        :pswitch_46
        :pswitch_3f
        :pswitch_38
        :pswitch_31
        :pswitch_2a
        :pswitch_23
        :pswitch_1c
        :pswitch_15
    .end packed-switch
.end method

.method public getGroupInfoFromCache(Ljava/lang/String;)Lio/rong/imlib/model/Group;
    .registers 3

    if-eqz p1, :cond_b

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

    move-result-object v0

    invoke-virtual {v0, p1}, Lio/rong/imkit/userInfoCache/RongUserInfoManager;->getGroupInfo(Ljava/lang/String;)Lio/rong/imlib/model/Group;

    move-result-object p1

    return-object p1

    :cond_b
    const/4 p1, 0x0

    return-object p1
.end method

.method public getGroupInfoProvider()Lio/rong/imkit/RongIM$GroupInfoProvider;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mGroupProvider:Lio/rong/imkit/RongIM$GroupInfoProvider;

    return-object v0
.end method

.method public getGroupUserInfoFromCache(Ljava/lang/String;Ljava/lang/String;)Lio/rong/imkit/model/GroupUserInfo;
    .registers 4

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

    move-result-object v0

    invoke-virtual {v0, p1, p2}, Lio/rong/imkit/userInfoCache/RongUserInfoManager;->getGroupUserInfo(Ljava/lang/String;Ljava/lang/String;)Lio/rong/imkit/model/GroupUserInfo;

    move-result-object p1

    return-object p1
.end method

.method public getGroupUserInfoProvider()Lio/rong/imkit/RongIM$GroupUserInfoProvider;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mGroupUserInfoProvider:Lio/rong/imkit/RongIM$GroupUserInfoProvider;

    return-object v0
.end method

.method public getLocationProvider()Lio/rong/imkit/RongIM$LocationProvider;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mLocationProvider:Lio/rong/imkit/RongIM$LocationProvider;

    return-object v0
.end method

.method public getMemberSelectListener()Lio/rong/imkit/RongIM$OnSelectMemberListener;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mMemberSelectListener:Lio/rong/imkit/RongIM$OnSelectMemberListener;

    return-object v0
.end method

.method public getMessageProviderTag(Ljava/lang/Class;)Lio/rong/imkit/model/ProviderTag;
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "+",
            "Lio/rong/imlib/model/MessageContent;",
            ">;)",
            "Lio/rong/imkit/model/ProviderTag;"
        }
    .end annotation

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mProviderMap:Ljava/util/Map;

    invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Lio/rong/imkit/model/ProviderTag;

    return-object p1
.end method

.method public getMessageTemplate(Ljava/lang/Class;)Lio/rong/imkit/widget/provider/IContainerItemProvider$MessageProvider;
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "+",
            "Lio/rong/imlib/model/MessageContent;",
            ">;)",
            "Lio/rong/imkit/widget/provider/IContainerItemProvider$MessageProvider;"
        }
    .end annotation

    const-string v0, "RongContext"

    .line 1
    iget-object v1, p0, Lio/rong/imkit/RongContext;->mWeakTemplateMap:Ljava/util/Map;

    invoke-interface {v1, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lio/rong/imkit/widget/provider/IContainerItemProvider$MessageProvider;

    if-nez v1, :cond_4b

    .line 2
    :try_start_c
    iget-object v2, p0, Lio/rong/imkit/RongContext;->mTemplateMap:Ljava/util/Map;

    if-eqz v2, :cond_30

    iget-object v2, p0, Lio/rong/imkit/RongContext;->mTemplateMap:Ljava/util/Map;

    invoke-interface {v2, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    if-eqz v2, :cond_30

    .line 3
    iget-object v2, p0, Lio/rong/imkit/RongContext;->mTemplateMap:Ljava/util/Map;

    invoke-interface {v2, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lio/rong/imkit/widget/provider/IContainerItemProvider$MessageProvider;

    invoke-virtual {v2}, Lio/rong/imkit/widget/provider/IContainerItemProvider$MessageProvider;->clone()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lio/rong/imkit/widget/provider/IContainerItemProvider$MessageProvider;
    :try_end_26
    .catch Ljava/lang/CloneNotSupportedException; {:try_start_c .. :try_end_26} :catch_45

    .line 4
    :try_start_26
    iget-object v1, p0, Lio/rong/imkit/RongContext;->mWeakTemplateMap:Ljava/util/Map;

    invoke-interface {v1, p1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_2b
    .catch Ljava/lang/CloneNotSupportedException; {:try_start_26 .. :try_end_2b} :catch_2d

    move-object v1, v2

    goto :goto_4b

    :catch_2d
    move-exception p1

    move-object v1, v2

    goto :goto_46

    .line 5
    :cond_30
    :try_start_30
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "The template of message can\'t be null. type :"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-static {v0, p1}, Lio/rong/common/RLog;->e(Ljava/lang/String;Ljava/lang/String;)I
    :try_end_44
    .catch Ljava/lang/CloneNotSupportedException; {:try_start_30 .. :try_end_44} :catch_45

    goto :goto_4b

    :catch_45
    move-exception p1

    :goto_46
    const-string v2, "getMessageTemplate"

    .line 6
    invoke-static {v0, v2, p1}, Lio/rong/common/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    :cond_4b
    :goto_4b
    return-object v1
.end method

.method public getNewMessageState()Z
    .registers 2

    .line 1
    iget-boolean v0, p0, Lio/rong/imkit/RongContext;->isShowNewMessageState:Z

    return v0
.end method

.method public getNotificationSound()Landroid/net/Uri;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->notificationSound:Landroid/net/Uri;

    return-object v0
.end method

.method public getOnSendMessageListener()Lio/rong/imkit/RongIM$OnSendMessageListener;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mOnSendMessageListener:Lio/rong/imkit/RongIM$OnSendMessageListener;

    return-object v0
.end method

.method public getPublicServiceBehaviorListener()Lio/rong/imkit/RongIM$PublicServiceBehaviorListener;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mPublicServiceBehaviorListener:Lio/rong/imkit/RongIM$PublicServiceBehaviorListener;

    return-object v0
.end method

.method public getPublicServiceInfoFromCache(Ljava/lang/String;)Lio/rong/imlib/model/PublicServiceProfile;
    .registers 4

    .line 1
    invoke-static {p1}, Lio/rong/imkit/utils/StringUtils;->getArg1(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 2
    invoke-static {p1}, Lio/rong/imkit/utils/StringUtils;->getArg2(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p1

    .line 3
    invoke-static {p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result p1

    .line 4
    sget-object v1, Lio/rong/imlib/model/Conversation$PublicServiceType;->PUBLIC_SERVICE:Lio/rong/imlib/model/Conversation$PublicServiceType;

    invoke-virtual {v1}, Lio/rong/imlib/model/Conversation$PublicServiceType;->getValue()I

    move-result v1

    if-ne p1, v1, :cond_17

    .line 5
    sget-object p1, Lio/rong/imlib/model/Conversation$PublicServiceType;->PUBLIC_SERVICE:Lio/rong/imlib/model/Conversation$PublicServiceType;

    goto :goto_23

    .line 6
    :cond_17
    sget-object v1, Lio/rong/imlib/model/Conversation$PublicServiceType;->APP_PUBLIC_SERVICE:Lio/rong/imlib/model/Conversation$PublicServiceType;

    invoke-virtual {v1}, Lio/rong/imlib/model/Conversation$PublicServiceType;->getValue()I

    move-result v1

    if-ne p1, v1, :cond_22

    .line 7
    sget-object p1, Lio/rong/imlib/model/Conversation$PublicServiceType;->APP_PUBLIC_SERVICE:Lio/rong/imlib/model/Conversation$PublicServiceType;

    goto :goto_23

    :cond_22
    const/4 p1, 0x0

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

    move-result-object v1

    invoke-virtual {v1, p1, v0}, Lio/rong/imkit/userInfoCache/RongUserInfoManager;->getPublicServiceProfile(Lio/rong/imlib/model/Conversation$PublicServiceType;Ljava/lang/String;)Lio/rong/imlib/model/PublicServiceProfile;

    move-result-object p1

    return-object p1
.end method

.method public getPublicServiceMenuClickListener()Lio/rong/imkit/IPublicServiceMenuClickListener;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mPublicServiceMenuClickListener:Lio/rong/imkit/IPublicServiceMenuClickListener;

    return-object v0
.end method

.method public getPublicServiceProfileProvider()Lio/rong/imkit/RongIM$PublicServiceProfileProvider;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mPublicServiceProfileProvider:Lio/rong/imkit/RongIM$PublicServiceProfileProvider;

    return-object v0
.end method

.method public getRequestPermissionListener()Lio/rong/imkit/RongIM$RequestPermissionsListener;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mRequestPermissionsListener:Lio/rong/imkit/RongIM$RequestPermissionsListener;

    return-object v0
.end method

.method public getUnreadMessageState()Z
    .registers 2

    .line 1
    iget-boolean v0, p0, Lio/rong/imkit/RongContext;->isShowUnreadMessageState:Z

    return v0
.end method

.method public getUserInfoAttachedState()Z
    .registers 2

    .line 1
    iget-boolean v0, p0, Lio/rong/imkit/RongContext;->isUserInfoAttached:Z

    return v0
.end method

.method public getUserInfoFromCache(Ljava/lang/String;)Lio/rong/imlib/model/UserInfo;
    .registers 3

    if-eqz p1, :cond_b

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

    move-result-object v0

    invoke-virtual {v0, p1}, Lio/rong/imkit/userInfoCache/RongUserInfoManager;->getUserInfo(Ljava/lang/String;)Lio/rong/imlib/model/UserInfo;

    move-result-object p1

    return-object p1

    :cond_b
    const/4 p1, 0x0

    return-object p1
.end method

.method getUserInfoProvider()Lio/rong/imkit/RongIM$UserInfoProvider;
    .registers 2

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mUserInfoProvider:Lio/rong/imkit/RongIM$UserInfoProvider;

    return-object v0
.end method

.method initRegister()V
    .registers 2

    .line 1
    new-instance v0, Lio/rong/imkit/widget/provider/PrivateConversationProvider;

    invoke-direct {v0}, Lio/rong/imkit/widget/provider/PrivateConversationProvider;-><init>()V

    invoke-virtual {p0, v0}, Lio/rong/imkit/RongContext;->registerConversationTemplate(Lio/rong/imkit/widget/provider/IContainerItemProvider$ConversationProvider;)V

    .line 2
    new-instance v0, Lio/rong/imkit/widget/provider/GroupConversationProvider;

    invoke-direct {v0}, Lio/rong/imkit/widget/provider/GroupConversationProvider;-><init>()V

    invoke-virtual {p0, v0}, Lio/rong/imkit/RongContext;->registerConversationTemplate(Lio/rong/imkit/widget/provider/IContainerItemProvider$ConversationProvider;)V

    .line 3
    new-instance v0, Lio/rong/imkit/widget/provider/DiscussionConversationProvider;

    invoke-direct {v0}, Lio/rong/imkit/widget/provider/DiscussionConversationProvider;-><init>()V

    invoke-virtual {p0, v0}, Lio/rong/imkit/RongContext;->registerConversationTemplate(Lio/rong/imkit/widget/provider/IContainerItemProvider$ConversationProvider;)V

    .line 4
    new-instance v0, Lio/rong/imkit/widget/provider/SystemConversationProvider;

    invoke-direct {v0}, Lio/rong/imkit/widget/provider/SystemConversationProvider;-><init>()V

    invoke-virtual {p0, v0}, Lio/rong/imkit/RongContext;->registerConversationTemplate(Lio/rong/imkit/widget/provider/IContainerItemProvider$ConversationProvider;)V

    .line 5
    new-instance v0, Lio/rong/imkit/widget/provider/CustomerServiceConversationProvider;

    invoke-direct {v0}, Lio/rong/imkit/widget/provider/CustomerServiceConversationProvider;-><init>()V

    invoke-virtual {p0, v0}, Lio/rong/imkit/RongContext;->registerConversationTemplate(Lio/rong/imkit/widget/provider/IContainerItemProvider$ConversationProvider;)V

    .line 6
    new-instance v0, Lio/rong/imkit/widget/provider/AppServiceConversationProvider;

    invoke-direct {v0}, Lio/rong/imkit/widget/provider/AppServiceConversationProvider;-><init>()V

    invoke-virtual {p0, v0}, Lio/rong/imkit/RongContext;->registerConversationTemplate(Lio/rong/imkit/widget/provider/IContainerItemProvider$ConversationProvider;)V

    .line 7
    new-instance v0, Lio/rong/imkit/widget/provider/PublicServiceConversationProvider;

    invoke-direct {v0}, Lio/rong/imkit/widget/provider/PublicServiceConversationProvider;-><init>()V

    invoke-virtual {p0, v0}, Lio/rong/imkit/RongContext;->registerConversationTemplate(Lio/rong/imkit/widget/provider/IContainerItemProvider$ConversationProvider;)V

    .line 8
    new-instance v0, Lio/rong/imkit/widget/provider/EncryptedConversationProvider;

    invoke-direct {v0}, Lio/rong/imkit/widget/provider/EncryptedConversationProvider;-><init>()V

    invoke-virtual {p0, v0}, Lio/rong/imkit/RongContext;->registerConversationTemplate(Lio/rong/imkit/widget/provider/IContainerItemProvider$ConversationProvider;)V

    return-void
.end method

.method public isReadReceiptConversationType(Lio/rong/imlib/model/Conversation$ConversationType;)Z
    .registers 3

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mReadReceiptConversationTypeList:Ljava/util/List;

    if-nez v0, :cond_d

    const-string p1, "RongContext"

    const-string v0, "isReadReceiptConversationType mReadReceiptConversationTypeList is null"

    .line 2
    invoke-static {p1, v0}, Lio/rong/common/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I

    const/4 p1, 0x0

    return p1

    .line 3
    :cond_d
    invoke-interface {v0, p1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z

    move-result p1

    return p1
.end method

.method public registerConversationInfo(Lio/rong/imkit/model/ConversationInfo;)V
    .registers 4

    if-eqz p1, :cond_25

    .line 1
    invoke-virtual {p1}, Lio/rong/imkit/model/ConversationInfo;->getTargetId()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p1}, Lio/rong/imkit/model/ConversationInfo;->getConversationType()Lio/rong/imlib/model/Conversation$ConversationType;

    move-result-object p1

    invoke-static {v0, p1}, Lio/rong/imkit/model/ConversationKey;->obtain(Ljava/lang/String;Lio/rong/imlib/model/Conversation$ConversationType;)Lio/rong/imkit/model/ConversationKey;

    move-result-object p1

    if-eqz p1, :cond_25

    .line 2
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mCurrentConversationList:Ljava/util/List;

    invoke-virtual {p1}, Lio/rong/imkit/model/ConversationKey;->getKey()Ljava/lang/String;

    move-result-object v1

    invoke-interface {v0, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_25

    .line 3
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mCurrentConversationList:Ljava/util/List;

    invoke-virtual {p1}, Lio/rong/imkit/model/ConversationKey;->getKey()Ljava/lang/String;

    move-result-object p1

    invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    :cond_25
    return-void
.end method

.method public registerConversationTemplate(Lio/rong/imkit/widget/provider/IContainerItemProvider$ConversationProvider;)V
    .registers 5

    .line 1
    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-class v1, Lio/rong/imkit/model/ConversationProviderTag;

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

    move-result-object v0

    check-cast v0, Lio/rong/imkit/model/ConversationProviderTag;

    if-eqz v0, :cond_21

    .line 2
    iget-object v1, p0, Lio/rong/imkit/RongContext;->mConversationProviderMap:Ljava/util/Map;

    invoke-interface {v0}, Lio/rong/imkit/model/ConversationProviderTag;->conversationType()Ljava/lang/String;

    move-result-object v2

    invoke-interface {v1, v2, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 3
    iget-object p1, p0, Lio/rong/imkit/RongContext;->mConversationTagMap:Ljava/util/Map;

    invoke-interface {v0}, Lio/rong/imkit/model/ConversationProviderTag;->conversationType()Ljava/lang/String;

    move-result-object v1

    invoke-interface {p1, v1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    return-void

    .line 4
    :cond_21
    new-instance p1, Ljava/lang/RuntimeException;

    const-string v0, "No ConversationProviderTag added with your provider!"

    invoke-direct {p1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V

    throw p1
.end method

.method public registerMessageTemplate(Lio/rong/imkit/widget/provider/IContainerItemProvider$MessageProvider;)V
    .registers 5

    .line 1
    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-class v1, Lio/rong/imkit/model/ProviderTag;

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

    move-result-object v0

    check-cast v0, Lio/rong/imkit/model/ProviderTag;

    if-eqz v0, :cond_21

    .line 2
    iget-object v1, p0, Lio/rong/imkit/RongContext;->mTemplateMap:Ljava/util/Map;

    invoke-interface {v0}, Lio/rong/imkit/model/ProviderTag;->messageContent()Ljava/lang/Class;

    move-result-object v2

    invoke-interface {v1, v2, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 3
    iget-object p1, p0, Lio/rong/imkit/RongContext;->mProviderMap:Ljava/util/Map;

    invoke-interface {v0}, Lio/rong/imkit/model/ProviderTag;->messageContent()Ljava/lang/Class;

    move-result-object v1

    invoke-interface {p1, v1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    return-void

    .line 4
    :cond_21
    new-instance p1, Ljava/lang/RuntimeException;

    const-string v0, "ProviderTag not def MessageContent type"

    invoke-direct {p1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V

    throw p1
.end method

.method public removeConversationNotifyStatusFromCache(Lio/rong/imkit/model/ConversationKey;)V
    .registers 3

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mNotificationCache:Lio/rong/imkit/cache/RongCache;

    invoke-virtual {p1}, Lio/rong/imkit/model/ConversationKey;->getKey()Ljava/lang/String;

    move-result-object p1

    invoke-virtual {v0, p1}, Lio/rong/imkit/cache/RongCache;->remove(Ljava/lang/Object;)Ljava/lang/Object;

    return-void
.end method

.method public setConversationBehaviorListener(Lio/rong/imkit/RongIM$ConversationBehaviorListener;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongContext;->mConversationBehaviorListener:Lio/rong/imkit/RongIM$ConversationBehaviorListener;

    return-void
.end method

.method public setConversationClickListener(Lio/rong/imkit/RongIM$ConversationClickListener;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongContext;->mConversationClickListener:Lio/rong/imkit/RongIM$ConversationClickListener;

    return-void
.end method

.method public setConversationListBehaviorListener(Lio/rong/imkit/RongIM$ConversationListBehaviorListener;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongContext;->mConversationListBehaviorListener:Lio/rong/imkit/RongIM$ConversationListBehaviorListener;

    return-void
.end method

.method public setConversationNotifyStatusToCache(Lio/rong/imkit/model/ConversationKey;Lio/rong/imlib/model/Conversation$ConversationNotificationStatus;)V
    .registers 4

    .line 1
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mNotificationCache:Lio/rong/imkit/cache/RongCache;

    invoke-virtual {p1}, Lio/rong/imkit/model/ConversationKey;->getKey()Ljava/lang/String;

    move-result-object p1

    invoke-virtual {v0, p1, p2}, Lio/rong/imkit/cache/RongCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    return-void
.end method

.method public setCurrentUserInfo(Lio/rong/imlib/model/UserInfo;)V
    .registers 3

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongContext;->mCurrentUserInfo:Lio/rong/imlib/model/UserInfo;

    if-eqz p1, :cond_15

    .line 2
    invoke-virtual {p1}, Lio/rong/imlib/model/UserInfo;->getUserId()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-nez v0, :cond_15

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

    move-result-object v0

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

    :cond_15
    return-void
.end method

.method setGetGroupInfoProvider(Lio/rong/imkit/RongIM$GroupInfoProvider;Z)V
    .registers 3

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongContext;->mGroupProvider:Lio/rong/imkit/RongIM$GroupInfoProvider;

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

    move-result-object p1

    invoke-virtual {p1, p2}, Lio/rong/imkit/userInfoCache/RongUserInfoManager;->setIsCacheGroupInfo(Z)V

    return-void
.end method

.method public setGetUserInfoProvider(Lio/rong/imkit/RongIM$UserInfoProvider;Z)V
    .registers 3

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongContext;->mUserInfoProvider:Lio/rong/imkit/RongIM$UserInfoProvider;

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

    move-result-object p1

    invoke-virtual {p1, p2}, Lio/rong/imkit/userInfoCache/RongUserInfoManager;->setIsCacheUserInfo(Z)V

    return-void
.end method

.method public setGroupUserInfoProvider(Lio/rong/imkit/RongIM$GroupUserInfoProvider;Z)V
    .registers 3

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongContext;->mGroupUserInfoProvider:Lio/rong/imkit/RongIM$GroupUserInfoProvider;

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

    move-result-object p1

    invoke-virtual {p1, p2}, Lio/rong/imkit/userInfoCache/RongUserInfoManager;->setIsCacheGroupUserInfo(Z)V

    return-void
.end method

.method public setLocationProvider(Lio/rong/imkit/RongIM$LocationProvider;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongContext;->mLocationProvider:Lio/rong/imkit/RongIM$LocationProvider;

    return-void
.end method

.method public setNotificationSound(Landroid/net/Uri;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongContext;->notificationSound:Landroid/net/Uri;

    .line 2
    invoke-static {p1}, Lio/rong/push/RongPushClient;->setNotifiationSound(Landroid/net/Uri;)V

    return-void
.end method

.method public setOnMemberSelectListener(Lio/rong/imkit/RongIM$OnSelectMemberListener;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongContext;->mMemberSelectListener:Lio/rong/imkit/RongIM$OnSelectMemberListener;

    return-void
.end method

.method public setOnSendMessageListener(Lio/rong/imkit/RongIM$OnSendMessageListener;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongContext;->mOnSendMessageListener:Lio/rong/imkit/RongIM$OnSendMessageListener;

    return-void
.end method

.method public setPublicServiceBehaviorListener(Lio/rong/imkit/RongIM$PublicServiceBehaviorListener;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongContext;->mPublicServiceBehaviorListener:Lio/rong/imkit/RongIM$PublicServiceBehaviorListener;

    return-void
.end method

.method public setPublicServiceMenuClickListener(Lio/rong/imkit/IPublicServiceMenuClickListener;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongContext;->mPublicServiceMenuClickListener:Lio/rong/imkit/IPublicServiceMenuClickListener;

    return-void
.end method

.method public setPublicServiceProfileProvider(Lio/rong/imkit/RongIM$PublicServiceProfileProvider;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongContext;->mPublicServiceProfileProvider:Lio/rong/imkit/RongIM$PublicServiceProfileProvider;

    return-void
.end method

.method varargs setReadReceiptConversationTypeList([Lio/rong/imlib/model/Conversation$ConversationType;)V
    .registers 6

    if-nez p1, :cond_a

    const-string p1, "RongContext"

    const-string v0, "setReadReceiptConversationTypeList parameter is null"

    .line 1
    invoke-static {p1, v0}, Lio/rong/common/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I

    return-void

    .line 2
    :cond_a
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mReadReceiptConversationTypeList:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->clear()V

    .line 3
    array-length v0, p1

    const/4 v1, 0x0

    :goto_11
    if-ge v1, v0, :cond_1d

    aget-object v2, p1, v1

    .line 4
    iget-object v3, p0, Lio/rong/imkit/RongContext;->mReadReceiptConversationTypeList:Ljava/util/List;

    invoke-interface {v3, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    add-int/lit8 v1, v1, 0x1

    goto :goto_11

    :cond_1d
    return-void
.end method

.method public setRequestPermissionListener(Lio/rong/imkit/RongIM$RequestPermissionsListener;)V
    .registers 2

    .line 1
    iput-object p1, p0, Lio/rong/imkit/RongContext;->mRequestPermissionsListener:Lio/rong/imkit/RongIM$RequestPermissionsListener;

    return-void
.end method

.method public setUserInfoAttachedState(Z)V
    .registers 2

    .line 1
    iput-boolean p1, p0, Lio/rong/imkit/RongContext;->isUserInfoAttached:Z

    return-void
.end method

.method public showNewMessageIcon(Z)V
    .registers 2

    .line 1
    iput-boolean p1, p0, Lio/rong/imkit/RongContext;->isShowNewMessageState:Z

    return-void
.end method

.method public showUnreadMessageIcon(Z)V
    .registers 2

    .line 1
    iput-boolean p1, p0, Lio/rong/imkit/RongContext;->isShowUnreadMessageState:Z

    return-void
.end method

.method public unregisterConversationInfo(Lio/rong/imkit/model/ConversationInfo;)V
    .registers 3

    if-eqz p1, :cond_21

    .line 1
    invoke-virtual {p1}, Lio/rong/imkit/model/ConversationInfo;->getTargetId()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p1}, Lio/rong/imkit/model/ConversationInfo;->getConversationType()Lio/rong/imlib/model/Conversation$ConversationType;

    move-result-object p1

    invoke-static {v0, p1}, Lio/rong/imkit/model/ConversationKey;->obtain(Ljava/lang/String;Lio/rong/imlib/model/Conversation$ConversationType;)Lio/rong/imkit/model/ConversationKey;

    move-result-object p1

    if-eqz p1, :cond_21

    .line 2
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mCurrentConversationList:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->size()I

    move-result v0

    if-lez v0, :cond_21

    .line 3
    iget-object v0, p0, Lio/rong/imkit/RongContext;->mCurrentConversationList:Ljava/util/List;

    invoke-virtual {p1}, Lio/rong/imkit/model/ConversationKey;->getKey()Ljava/lang/String;

    move-result-object p1

    invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z

    :cond_21
    return-void
.end method