SendImageManager.smali
.class public Lio/rong/imkit/manager/SendImageManager;
.super Ljava/lang/Object;
.source "SendImageManager.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/rong/imkit/manager/SendImageManager$UploadController;,
Lio/rong/imkit/manager/SendImageManager$SingletonHolder;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "SendImageManager"
# instance fields
.field private executorService:Ljava/util/concurrent/ExecutorService;
.field private uploadController:Lio/rong/imkit/manager/SendImageManager$UploadController;
# direct methods
.method private constructor <init>()V
.registers 2
.line 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3
invoke-direct {p0}, Lio/rong/imkit/manager/SendImageManager;->getExecutorService()Ljava/util/concurrent/ExecutorService;
move-result-object v0
iput-object v0, p0, Lio/rong/imkit/manager/SendImageManager;->executorService:Ljava/util/concurrent/ExecutorService;
.line 4
new-instance v0, Lio/rong/imkit/manager/SendImageManager$UploadController;
invoke-direct {v0, p0}, Lio/rong/imkit/manager/SendImageManager$UploadController;-><init>(Lio/rong/imkit/manager/SendImageManager;)V
iput-object v0, p0, Lio/rong/imkit/manager/SendImageManager;->uploadController:Lio/rong/imkit/manager/SendImageManager$UploadController;
return-void
.end method
.method synthetic constructor <init>(Lio/rong/imkit/manager/SendImageManager$1;)V
.registers 2
.line 1
invoke-direct {p0}, Lio/rong/imkit/manager/SendImageManager;-><init>()V
return-void
.end method
.method static synthetic access$100(Lio/rong/imkit/manager/SendImageManager;)Lio/rong/imkit/manager/SendImageManager$UploadController;
.registers 1
.line 1
iget-object p0, p0, Lio/rong/imkit/manager/SendImageManager;->uploadController:Lio/rong/imkit/manager/SendImageManager$UploadController;
return-object p0
.end method
.method static synthetic access$200(Lio/rong/imkit/manager/SendImageManager;)Ljava/util/concurrent/ExecutorService;
.registers 1
.line 1
iget-object p0, p0, Lio/rong/imkit/manager/SendImageManager;->executorService:Ljava/util/concurrent/ExecutorService;
return-object p0
.end method
.method private getExecutorService()Ljava/util/concurrent/ExecutorService;
.registers 10
.line 1
iget-object v0, p0, Lio/rong/imkit/manager/SendImageManager;->executorService:Ljava/util/concurrent/ExecutorService;
if-nez v0, :cond_1d
.line 2
new-instance v0, Ljava/util/concurrent/ThreadPoolExecutor;
const/4 v2, 0x1
const v3, 0x7fffffff
const-wide/16 v4, 0x3c
sget-object v6, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
new-instance v7, Ljava/util/concurrent/SynchronousQueue;
invoke-direct {v7}, Ljava/util/concurrent/SynchronousQueue;-><init>()V
.line 3
invoke-direct {p0}, Lio/rong/imkit/manager/SendImageManager;->threadFactory()Ljava/util/concurrent/ThreadFactory;
move-result-object v8
move-object v1, v0
invoke-direct/range {v1 .. v8}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
iput-object v0, p0, Lio/rong/imkit/manager/SendImageManager;->executorService:Ljava/util/concurrent/ExecutorService;
.line 4
:cond_1d
iget-object v0, p0, Lio/rong/imkit/manager/SendImageManager;->executorService:Ljava/util/concurrent/ExecutorService;
return-object v0
.end method
.method public static getInstance()Lio/rong/imkit/manager/SendImageManager;
.registers 1
.line 1
sget-object v0, Lio/rong/imkit/manager/SendImageManager$SingletonHolder;->sInstance:Lio/rong/imkit/manager/SendImageManager;
return-object v0
.end method
.method private threadFactory()Ljava/util/concurrent/ThreadFactory;
.registers 2
.line 1
new-instance v0, Lio/rong/imkit/manager/SendImageManager$3;
invoke-direct {v0, p0}, Lio/rong/imkit/manager/SendImageManager$3;-><init>(Lio/rong/imkit/manager/SendImageManager;)V
return-object v0
.end method
# virtual methods
.method public cancelSendingImage(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;I)V
.registers 6
const-string v0, "SendImageManager"
const-string v1, "cancelSendingImages"
.line 1
invoke-static {v0, v1}, Lio/rong/common/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I
if-eqz p1, :cond_14
if-eqz p2, :cond_14
.line 2
iget-object v0, p0, Lio/rong/imkit/manager/SendImageManager;->uploadController:Lio/rong/imkit/manager/SendImageManager$UploadController;
if-eqz v0, :cond_14
if-lez p3, :cond_14
.line 3
invoke-virtual {v0, p1, p2, p3}, Lio/rong/imkit/manager/SendImageManager$UploadController;->cancel(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;I)V
:cond_14
return-void
.end method
.method public cancelSendingImages(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;)V
.registers 5
const-string v0, "SendImageManager"
const-string v1, "cancelSendingImages"
.line 1
invoke-static {v0, v1}, Lio/rong/common/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I
if-eqz p1, :cond_12
if-eqz p2, :cond_12
.line 2
iget-object v0, p0, Lio/rong/imkit/manager/SendImageManager;->uploadController:Lio/rong/imkit/manager/SendImageManager$UploadController;
if-eqz v0, :cond_12
.line 3
invoke-virtual {v0, p1, p2}, Lio/rong/imkit/manager/SendImageManager$UploadController;->cancel(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;)V
:cond_12
return-void
.end method
.method public reset()V
.registers 2
.line 1
iget-object v0, p0, Lio/rong/imkit/manager/SendImageManager;->uploadController:Lio/rong/imkit/manager/SendImageManager$UploadController;
invoke-virtual {v0}, Lio/rong/imkit/manager/SendImageManager$UploadController;->reset()V
return-void
.end method
.method public sendImages(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;Ljava/util/List;Z)V
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/rong/imlib/model/Conversation$ConversationType;",
"Ljava/lang/String;",
"Ljava/util/List<",
"Landroid/net/Uri;",
">;Z)V"
}
.end annotation
const/4 v5, 0x0
const-wide/16 v6, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move v4, p4
.line 1
invoke-virtual/range {v0 .. v7}, Lio/rong/imkit/manager/SendImageManager;->sendImages(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;Ljava/util/List;ZZJ)V
return-void
.end method
.method public sendImages(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;Ljava/util/List;ZZJ)V
.registers 15
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/rong/imlib/model/Conversation$ConversationType;",
"Ljava/lang/String;",
"Ljava/util/List<",
"Landroid/net/Uri;",
">;ZZJ)V"
}
.end annotation
.line 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "sendImages "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {p3}, Ljava/util/List;->size()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "SendImageManager"
invoke-static {v1, v0}, Lio/rong/common/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 3
invoke-interface {p3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p3
:cond_1e
:goto_1e
invoke-interface {p3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_a1
invoke-interface {p3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/Uri;
.line 4
invoke-virtual {v0}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_1e
.line 5
new-instance v1, Ljava/io/File;
invoke-virtual {v0}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 6
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v1
if-nez v1, :cond_44
goto :goto_1e
.line 7
:cond_44
invoke-virtual {v0}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object v1
if-nez v1, :cond_4b
goto :goto_1e
.line 8
:cond_4b
invoke-virtual {v0}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object v1
const-string v2, "gif"
invoke-virtual {v1, v2}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_5c
.line 9
invoke-static {v0}, Lio/rong/message/GIFMessage;->obtain(Landroid/net/Uri;)Lio/rong/message/GIFMessage;
move-result-object v0
goto :goto_60
.line 10
:cond_5c
invoke-static {v0, v0, p4}, Lio/rong/message/ImageMessage;->obtain(Landroid/net/Uri;Landroid/net/Uri;Z)Lio/rong/message/ImageMessage;
move-result-object v0
:goto_60
move-object v5, v0
if-eqz p5, :cond_68
if-eqz v5, :cond_68
.line 11
invoke-virtual {v5, p6, p7}, Lio/rong/imlib/model/MessageContent;->setDestructTime(J)V
.line 12
:cond_68
invoke-static {}, Lio/rong/imkit/RongContext;->getInstance()Lio/rong/imkit/RongContext;
move-result-object v0
invoke-virtual {v0}, Lio/rong/imkit/RongContext;->getOnSendMessageListener()Lio/rong/imkit/RongIM$OnSendMessageListener;
move-result-object v0
if-eqz v0, :cond_90
.line 13
invoke-static {p2, p1, v5}, Lio/rong/imlib/model/Message;->obtain(Ljava/lang/String;Lio/rong/imlib/model/Conversation$ConversationType;Lio/rong/imlib/model/MessageContent;)Lio/rong/imlib/model/Message;
move-result-object v1
invoke-interface {v0, v1}, Lio/rong/imkit/RongIM$OnSendMessageListener;->onSend(Lio/rong/imlib/model/Message;)Lio/rong/imlib/model/Message;
move-result-object v0
if-eqz v0, :cond_1e
.line 14
invoke-static {}, Lio/rong/imlib/RongIMClient;->getInstance()Lio/rong/imlib/RongIMClient;
move-result-object v1
const/4 v4, 0x0
.line 15
invoke-virtual {v0}, Lio/rong/imlib/model/Message;->getContent()Lio/rong/imlib/model/MessageContent;
move-result-object v5
new-instance v6, Lio/rong/imkit/manager/SendImageManager$1;
invoke-direct {v6, p0}, Lio/rong/imkit/manager/SendImageManager$1;-><init>(Lio/rong/imkit/manager/SendImageManager;)V
move-object v2, p1
move-object v3, p2
.line 16
invoke-virtual/range {v1 .. v6}, Lio/rong/imlib/RongIMClient;->insertOutgoingMessage(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;Lio/rong/imlib/model/Message$SentStatus;Lio/rong/imlib/model/MessageContent;Lio/rong/imlib/RongIMClient$ResultCallback;)V
goto :goto_1e
.line 17
:cond_90
invoke-static {}, Lio/rong/imlib/RongIMClient;->getInstance()Lio/rong/imlib/RongIMClient;
move-result-object v1
const/4 v4, 0x0
new-instance v6, Lio/rong/imkit/manager/SendImageManager$2;
invoke-direct {v6, p0}, Lio/rong/imkit/manager/SendImageManager$2;-><init>(Lio/rong/imkit/manager/SendImageManager;)V
move-object v2, p1
move-object v3, p2
invoke-virtual/range {v1 .. v6}, Lio/rong/imlib/RongIMClient;->insertOutgoingMessage(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;Lio/rong/imlib/model/Message$SentStatus;Lio/rong/imlib/model/MessageContent;Lio/rong/imlib/RongIMClient$ResultCallback;)V
goto/16 :goto_1e
:cond_a1
return-void
.end method